)]}'
{"nodepool/zk/zookeeper.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"0440a6e3224104d7bde4177d47c0b6a718f7b3dc","unresolved":true,"context_lines":[{"line_number":2373,"context_line":"            raise npe.ZKLockException(\"Node %s does not hold a lock\" % node)"},{"line_number":2374,"context_line":"        node.lock.release()"},{"line_number":2375,"context_line":"        node.lock \u003d None"},{"line_number":2376,"context_line":"        node._thread_lock.release()"},{"line_number":2377,"context_line":""},{"line_number":2378,"context_line":"    def forceUnlockNode(self, node):"},{"line_number":2379,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"61d7554f_d3ce9c31","line":2376,"updated":"2023-04-13 19:21:21.000000000","message":"This can raise if we try to release an unlocked thread lock. Should we update the raises listing in the docstring or catch that situation for non ephemeral locks which will have already been unlocked?","commit_id":"3e3b51ec16498b7f500830a22af6a99962832912"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"effe34d6847108d16d188ce95d4ac6cd3839906b","unresolved":false,"context_lines":[{"line_number":2373,"context_line":"            raise npe.ZKLockException(\"Node %s does not hold a lock\" % node)"},{"line_number":2374,"context_line":"        node.lock.release()"},{"line_number":2375,"context_line":"        node.lock \u003d None"},{"line_number":2376,"context_line":"        node._thread_lock.release()"},{"line_number":2377,"context_line":""},{"line_number":2378,"context_line":"    def forceUnlockNode(self, node):"},{"line_number":2379,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"fb6ca151_65bf2d0a","line":2376,"in_reply_to":"61d7554f_d3ce9c31","updated":"2023-04-13 19:47:50.000000000","message":"I don\u0027t think those docs are intended to be comprehensive (zk can raise all kinds of exceptions), so i don\u0027t think we should expand them.  but to the point about non-ephemeral -- the only way to unlock that is with the forceUnlockNode method below.","commit_id":"3e3b51ec16498b7f500830a22af6a99962832912"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"7abae7da39df12acf4b6d6e57a7061b99d6ba10d","unresolved":true,"context_lines":[{"line_number":2347,"context_line":"                try:"},{"line_number":2348,"context_line":"                    node._thread_lock.release()"},{"line_number":2349,"context_line":"                except Exception:"},{"line_number":2350,"context_line":"                    self.log.exception(\"Unable to release emphemeral thread \""},{"line_number":2351,"context_line":"                                       \"lock for: %s\", node)"},{"line_number":2352,"context_line":"        except Exception:"},{"line_number":2353,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"2e05f348_907aaffb","line":2350,"range":{"start_line":2350,"start_character":58,"end_line":2350,"end_character":68},"updated":"2023-04-13 18:33:33.000000000","message":"should this be \"non ephemeral\" ?","commit_id":"62ebdccb919ed80156db9ec78b758b7d976f8b5a"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"cfec682232741abec19ab4c0441208525be8f886","unresolved":false,"context_lines":[{"line_number":2347,"context_line":"                try:"},{"line_number":2348,"context_line":"                    node._thread_lock.release()"},{"line_number":2349,"context_line":"                except Exception:"},{"line_number":2350,"context_line":"                    self.log.exception(\"Unable to release emphemeral thread \""},{"line_number":2351,"context_line":"                                       \"lock for: %s\", node)"},{"line_number":2352,"context_line":"        except Exception:"},{"line_number":2353,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1acee498_78b78d73","line":2350,"in_reply_to":"2e05f348_907aaffb","updated":"2023-04-13 19:47:57.000000000","message":"Yes.","commit_id":"62ebdccb919ed80156db9ec78b758b7d976f8b5a"}]}
