)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2f9fb6326bb6ef292562436a006dfbb85f6e3b12","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"63649130_db48b5b8","updated":"2022-07-05 10:04:33.000000000","message":"Very soft -1. You might have a good reason to use -1 but it does feel a bit like you\u0027re trying to write C instead of Python 😉","commit_id":"d59b426c290a0bae5626d47c3fcb8786c64451e6"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"52f969530614b690b494e30a598887bc06eb7451","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8227fc77_64d38b40","in_reply_to":"63649130_db48b5b8","updated":"2022-07-05 11:05:27.000000000","message":"I understand your feelings, but -1 is from etcd, not my preferences.","commit_id":"d59b426c290a0bae5626d47c3fcb8786c64451e6"}],"etcd3gw/lease.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d429400c33f9caf9c46ce1766021beb23a9551f","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        result \u003d self.client.post(self.client.get_url(\"/lease/keepalive\"),"},{"line_number":64,"context_line":"                                  json\u003d{\"ID\": self.id})"},{"line_number":65,"context_line":"        return int(result[\u0027result\u0027].get(\u0027TTL\u0027, -1))"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def keys(self):"},{"line_number":68,"context_line":"        \"\"\"Get the keys associated with this lease."}],"source_content_type":"text/x-python","patch_set":2,"id":"e3525e99_1cd30b14","line":65,"updated":"2022-07-05 10:03:53.000000000","message":"Why a magic value. Can\u0027t we raise a (custom) exception here?\n\n  if \u0027TTL\u0027 not in result[\u0027result\u0027]:\n      raise LeaseExpired()\n\n?","commit_id":"d59b426c290a0bae5626d47c3fcb8786c64451e6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8dc13bb3429918e6f25101c67fc3ec1ab0d30f6d","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        result \u003d self.client.post(self.client.get_url(\"/lease/keepalive\"),"},{"line_number":64,"context_line":"                                  json\u003d{\"ID\": self.id})"},{"line_number":65,"context_line":"        return int(result[\u0027result\u0027].get(\u0027TTL\u0027, -1))"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def keys(self):"},{"line_number":68,"context_line":"        \"\"\"Get the keys associated with this lease."}],"source_content_type":"text/x-python","patch_set":2,"id":"b0e74c91_e43f31b7","line":65,"in_reply_to":"32b4c7f8_78321dfd","updated":"2022-07-05 12:52:51.000000000","message":"Okay, could you add context comments explaining ☝️? It\u0027s useful info","commit_id":"d59b426c290a0bae5626d47c3fcb8786c64451e6"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"c7d00ea6774bafe734e2bc7cc9d17b02a3d94ab3","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        result \u003d self.client.post(self.client.get_url(\"/lease/keepalive\"),"},{"line_number":64,"context_line":"                                  json\u003d{\"ID\": self.id})"},{"line_number":65,"context_line":"        return int(result[\u0027result\u0027].get(\u0027TTL\u0027, -1))"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def keys(self):"},{"line_number":68,"context_line":"        \"\"\"Get the keys associated with this lease."}],"source_content_type":"text/x-python","patch_set":2,"id":"94a38927_379a73c4","line":65,"in_reply_to":"b0e74c91_e43f31b7","updated":"2022-07-05 13:34:40.000000000","message":"Done","commit_id":"d59b426c290a0bae5626d47c3fcb8786c64451e6"},{"author":{"_account_id":32927,"name":"mitya-eremeev-2","display_name":"Mitya Eremeev","email":"mitossvyaz@mail.ru","username":"mitya-eremeev-2"},"change_message_id":"52f969530614b690b494e30a598887bc06eb7451","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        result \u003d self.client.post(self.client.get_url(\"/lease/keepalive\"),"},{"line_number":64,"context_line":"                                  json\u003d{\"ID\": self.id})"},{"line_number":65,"context_line":"        return int(result[\u0027result\u0027].get(\u0027TTL\u0027, -1))"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def keys(self):"},{"line_number":68,"context_line":"        \"\"\"Get the keys associated with this lease."}],"source_content_type":"text/x-python","patch_set":2,"id":"32b4c7f8_78321dfd","line":65,"in_reply_to":"e3525e99_1cd30b14","updated":"2022-07-05 11:05:27.000000000","message":"It\u0027s not magic number - it\u0027s from etcd code and documentation:\n\nhttps://github.com/etcd-io/etcd/blob/8c074c975e7c084f246ad8254d2a83a83c97c594/Documentation/dev-guide/apispec/swagger/rpc.swagger.json#L2160\n\nhttps://github.com/etcd-io/etcd/blob/573e055cd3bab9ddfa1572c5a05755073cbe5ab5/client/v3/lease.go#L55\n\nhttps://github.com/etcd-io/etcd/blob/6af760131e1cb2181237c3eb41db2e58686c65e3/etcdctl/ctlv3/command/printer_simple.go#L99\n\nhttps://github.com/etcd-io/etcd/blob/e0a0fdc984ce13e42f3b56b5e5a21d2341f1f7c0/server/lease/leasehttp/http.go#L146\n\nIMHO the fact that field \"TTL\" is absent in response - it\u0027s a bug.\nSo I follow etcd logic.\nI don\u0027t think that raising of exception is appropriate, expired lease is not an error, it\u0027s valid lease state which is -1.","commit_id":"d59b426c290a0bae5626d47c3fcb8786c64451e6"}]}
