)]}'
{"ironic_inspector/common/locking.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59872672c7b929ce2b0e262a241d443356c916f7","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        self._locked \u003d False"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def acquire(self, blocking\u003dTrue, timeout\u003dNone):"},{"line_number":48,"context_line":"        # NOTE(kaifeng) timeout is only available on python3"},{"line_number":49,"context_line":"        if not self._locked:"},{"line_number":50,"context_line":"            self._locked \u003d self._lock.acquire(blocking\u003dblocking)"},{"line_number":51,"context_line":"        return self._locked"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_271afe7c","line":48,"updated":"2019-07-08 12:03:29.000000000","message":"Can we use it on Python 3? Sounds helpful.","commit_id":"4ca1969d76ee05bf4251e8bf2a1ff1d3cd697b5e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"46e953403ac97cb36fd93053e9be3a51c183b651","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        self._locked \u003d False"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def acquire(self, blocking\u003dTrue, timeout\u003dNone):"},{"line_number":48,"context_line":"        # NOTE(kaifeng) timeout is only available on python3"},{"line_number":49,"context_line":"        if not self._locked:"},{"line_number":50,"context_line":"            self._locked \u003d self._lock.acquire(blocking\u003dblocking)"},{"line_number":51,"context_line":"        return self._locked"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_77865ade","line":48,"in_reply_to":"7faddb67_271afe7c","updated":"2019-07-09 01:32:39.000000000","message":"It may not be helpful as expected, but we can add that when python2 is no longer supported, otherwise we will have an interface with different behaviors.","commit_id":"4ca1969d76ee05bf4251e8bf2a1ff1d3cd697b5e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59872672c7b929ce2b0e262a241d443356c916f7","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        return self._locked"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def __enter__(self):"},{"line_number":62,"context_line":"        yield self._lock"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def __exit__(self, exc_type, exc_val, exc_tb):"},{"line_number":65,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_471ffa6b","line":62,"updated":"2019-07-08 12:03:29.000000000","message":"I don\u0027t think __enter__ is a generator itself, I think you should use `return`. also I think it should acquire the lock.","commit_id":"4ca1969d76ee05bf4251e8bf2a1ff1d3cd697b5e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"46e953403ac97cb36fd93053e9be3a51c183b651","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        return self._locked"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def __enter__(self):"},{"line_number":62,"context_line":"        yield self._lock"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def __exit__(self, exc_type, exc_val, exc_tb):"},{"line_number":65,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_172846e0","line":62,"in_reply_to":"7faddb67_471ffa6b","updated":"2019-07-09 01:32:39.000000000","message":"yeah.. false vision","commit_id":"4ca1969d76ee05bf4251e8bf2a1ff1d3cd697b5e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"59872672c7b929ce2b0e262a241d443356c916f7","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        yield self._lock"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def __exit__(self, exc_type, exc_val, exc_tb):"},{"line_number":65,"context_line":"        pass"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"def get_lock(uuid):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_e7138665","line":65,"updated":"2019-07-08 12:03:29.000000000","message":"self.release() ?","commit_id":"4ca1969d76ee05bf4251e8bf2a1ff1d3cd697b5e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"46e953403ac97cb36fd93053e9be3a51c183b651","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        yield self._lock"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def __exit__(self, exc_type, exc_val, exc_tb):"},{"line_number":65,"context_line":"        pass"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"def get_lock(uuid):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_37230208","line":65,"in_reply_to":"7faddb67_e7138665","updated":"2019-07-09 01:32:39.000000000","message":"Done","commit_id":"4ca1969d76ee05bf4251e8bf2a1ff1d3cd697b5e"}],"ironic_inspector/node_cache.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"46e953403ac97cb36fd93053e9be3a51c183b651","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        \"\"\""},{"line_number":118,"context_line":"        if self._lock.is_locked():"},{"line_number":119,"context_line":"            LOG.debug(\u0027Successfully released lock\u0027, node_info\u003dself)"},{"line_number":120,"context_line":"            self._lock.release()"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    @property"},{"line_number":123,"context_line":"    def version_id(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_775f3a72","line":120,"updated":"2019-07-09 01:32:39.000000000","message":"Can we remove node_info from logs? I am hoping to move these logs to the InternalLock, looks concise.","commit_id":"4ca1969d76ee05bf4251e8bf2a1ff1d3cd697b5e"}]}
