)]}'
{"tooz/locking.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"734e2774caed5290a648807c6e944737e201ca64","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    def name(self):"},{"line_number":46,"context_line":"        return self._name"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def __call__(self, blocking\u003dTrue, shared\u003dFalse):"},{"line_number":49,"context_line":"        return _LockProxy(self, blocking, shared)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def __enter__(self, blocking\u003dTrue, shared\u003dFalse):"},{"line_number":52,"context_line":"        acquired \u003d self.acquire(blocking, shared)"},{"line_number":53,"context_line":"        if not acquired:"},{"line_number":54,"context_line":"            msg \u003d u\u0027Acquiring lock %s failed\u0027 % self.name"},{"line_number":55,"context_line":"            raise coordination.LockAcquireFailed(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a1ced50_300a85d3","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":49},"updated":"2017-03-17 14:57:28.000000000","message":"To fix Cinder problem you can change this to the following:\n\ndef __call__(self, *args, **kwargs):\n        return _LockProxy(self, *args, **kwargs)\n\n    def __enter__(self, *args, **kwargs):\n        acquired \u003d self.acquire(*args, **kwargs)","commit_id":"8a0d5d30697110dbfc354a2d44c05fc3bb1c019c"}],"tooz/tests/test_coordination.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"a3239c1cae481e75db2613b6c4bd82c929f1c52c","unresolved":false,"context_lines":[{"line_number":713,"context_line":"            pass"},{"line_number":714,"context_line":""},{"line_number":715,"context_line":"    def test_get_shared_lock(self):"},{"line_number":716,"context_line":"        if self.url.split(\u0027:\u0027)[0] not in [\u0027file\u0027]:"},{"line_number":717,"context_line":"            return"},{"line_number":718,"context_line":"        lock \u003d self._coord.get_lock(tests.get_random_uuid())"},{"line_number":719,"context_line":"        self.assertTrue(lock.acquire(shared\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a1ced50_b406771e","line":716,"updated":"2017-03-17 09:08:21.000000000","message":"what\u0027s the best to do is to raise tooz.NotImplemented when a driver is called with shared\u003dTrue. That\u0027ll cause the test to be skipped automatically.","commit_id":"8a0d5d30697110dbfc354a2d44c05fc3bb1c019c"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"a3239c1cae481e75db2613b6c4bd82c929f1c52c","unresolved":false,"context_lines":[{"line_number":728,"context_line":"        self.assertTrue(lock.acquire(shared\u003dTrue))"},{"line_number":729,"context_line":"        self.assertTrue(lock.acquire(shared\u003dTrue))"},{"line_number":730,"context_line":"        self.assertTrue(lock.release())"},{"line_number":731,"context_line":"        self.assertTrue(lock.release())"},{"line_number":732,"context_line":"        with lock(shared\u003dTrue):"},{"line_number":733,"context_line":"            pass"},{"line_number":734,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a1ced50_3757e903","line":731,"updated":"2017-03-17 09:08:21.000000000","message":"Can you also check what happens if you call lock.release() a 3rd time?","commit_id":"8a0d5d30697110dbfc354a2d44c05fc3bb1c019c"}]}
