)]}'
{"oslo_cache/core.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":42,"context_line":"from dogpile.cache import util"},{"line_number":43,"context_line":"from oslo_log import log"},{"line_number":44,"context_line":"from oslo_utils import importutils"},{"line_number":45,"context_line":"from pymemcache import KeepaliveOpts"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"from oslo_cache._i18n import _"},{"line_number":48,"context_line":"from oslo_cache import _opts"}],"source_content_type":"text/x-python","patch_set":8,"id":"c516d944_19c713e5","line":45,"updated":"2021-11-16 15:03:04.000000000","message":"import modules, not objects","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        conf_dict[\u0027%s.arguments.tls_context\u0027 % prefix] \u003d tls_context"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    if conf.cache.enable_socket_keepalive:"},{"line_number":193,"context_line":"        socket_keepalive \u003d KeepaliveOpts("},{"line_number":194,"context_line":"            idle\u003dconf.cache.socket_keepalive_idle,"},{"line_number":195,"context_line":"            intvl\u003dconf.cache.socket_keepalive_intvl,"}],"source_content_type":"text/x-python","patch_set":8,"id":"caaae84d_2533abda","line":192,"updated":"2021-11-16 15:03:04.000000000","message":"A context comment about what this is doing and why it\u0027s necessary would help users not as familiar with the code here (like me) understand this","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":194,"context_line":"            idle\u003dconf.cache.socket_keepalive_idle,"},{"line_number":195,"context_line":"            intvl\u003dconf.cache.socket_keepalive_intvl,"},{"line_number":196,"context_line":"            cnt\u003dconf.cache.socket_keepalive_cnt)"},{"line_number":197,"context_line":"        conf_dict[\u0027%s.arguments.socket_keepalive\u0027 % prefix] \u003d socket_keepalive"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    return conf_dict"},{"line_number":200,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"db282600_1c945ee9","line":197,"range":{"start_line":197,"start_character":18,"end_line":197,"end_character":58},"updated":"2021-11-16 15:03:04.000000000","message":"Is this a pymemcache-specific thing? Could you link to external docs if there are any?","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"}],"oslo_cache/tests/unit/test_cache_basics.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":354,"context_line":"            )"},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"    def test_cache_dictionary_config_builder_socket_keepalive_disabled(self):"},{"line_number":357,"context_line":"        \"\"\"Validate the backend is reset to default if caching is disabled.\"\"\""},{"line_number":358,"context_line":"        self.config_fixture.config(group\u003d\u0027cache\u0027,"},{"line_number":359,"context_line":"                                   enabled\u003dTrue,"},{"line_number":360,"context_line":"                                   config_prefix\u003d\u0027test_prefix\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"95339a41_471732c3","line":357,"updated":"2021-11-16 15:03:04.000000000","message":"I think you\u0027ve just copied this docstring from above without updating it. Every single test above this claims to test the same thing 😄 Can you update this to reflect what the test is _actually_ doing?","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":371,"context_line":"            \u0027test_prefix.arguments.socket_keepalive\u0027, config_dict)"},{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    def test_cache_dictionary_config_builder_socket_keepalive_enabled(self):"},{"line_number":374,"context_line":"        \"\"\"Validate the backend is reset to default if caching is disabled.\"\"\""},{"line_number":375,"context_line":"        self.config_fixture.config(group\u003d\u0027cache\u0027,"},{"line_number":376,"context_line":"                                   enabled\u003dTrue,"},{"line_number":377,"context_line":"                                   config_prefix\u003d\u0027test_prefix\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"d475991e_7bb03422","line":374,"updated":"2021-11-16 15:03:04.000000000","message":"ditto","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":383,"context_line":"        self.assertTrue("},{"line_number":384,"context_line":"            self.config_fixture.conf.cache.enable_socket_keepalive)"},{"line_number":385,"context_line":""},{"line_number":386,"context_line":"        self.assertTrue("},{"line_number":387,"context_line":"            isinstance("},{"line_number":388,"context_line":"                config_dict[\u0027test_prefix.arguments.socket_keepalive\u0027],"},{"line_number":389,"context_line":"                KeepaliveOpts)"},{"line_number":390,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"cb43f72e_655340ff","line":387,"range":{"start_line":386,"start_character":13,"end_line":387,"end_character":23},"updated":"2021-11-16 15:03:04.000000000","message":"nit:\n\n  self.assertIsInstance","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":403,"context_line":"        config_dict \u003d cache._build_cache_config(self.config_fixture.conf)"},{"line_number":404,"context_line":""},{"line_number":405,"context_line":"        self.assertTrue("},{"line_number":406,"context_line":"            self.config_fixture.conf.cache.enable_socket_keepalive)"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"        self.assertTrue("},{"line_number":409,"context_line":"            isinstance("}],"source_content_type":"text/x-python","patch_set":8,"id":"959bb3f9_4a653779","line":406,"updated":"2021-11-16 15:03:04.000000000","message":"nit: I _think_ this will fit on one line","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":405,"context_line":"        self.assertTrue("},{"line_number":406,"context_line":"            self.config_fixture.conf.cache.enable_socket_keepalive)"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"        self.assertTrue("},{"line_number":409,"context_line":"            isinstance("},{"line_number":410,"context_line":"                config_dict[\u0027test_prefix.arguments.socket_keepalive\u0027],"},{"line_number":411,"context_line":"                KeepaliveOpts)"},{"line_number":412,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":8,"id":"6d6e324f_c9f53aad","line":409,"range":{"start_line":408,"start_character":8,"end_line":409,"end_character":23},"updated":"2021-11-16 15:03:04.000000000","message":"ditto","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"}],"releasenotes/notes/pymemcache_socket_keepalive-f91c69770961e2b6.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    New options (``enable_socket_keepalive``, ``socket_keepalive_idle``,"},{"line_number":5,"context_line":"    ``socket_keepalive_intvl``, ``socket_keepalive_cnt``) allow to use and"},{"line_number":6,"context_line":"    configure pymemcache\u0027s socket keepalive capabilities."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"4b4e6f04_daec4738","line":5,"range":{"start_line":5,"start_character":51,"end_line":5,"end_character":54},"updated":"2021-11-16 15:03:04.000000000","message":"count","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    New options (``enable_socket_keepalive``, ``socket_keepalive_idle``,"},{"line_number":5,"context_line":"    ``socket_keepalive_intvl``, ``socket_keepalive_cnt``) allow to use and"},{"line_number":6,"context_line":"    configure pymemcache\u0027s socket keepalive capabilities."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7726e662_50497d7b","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":28},"updated":"2021-11-16 15:03:04.000000000","message":"interval","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"}],"setup.cfg":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9fb00906743d35aeb4d43f845edc63afa03a98a","unresolved":true,"context_lines":[{"line_number":35,"context_line":"[extras]"},{"line_number":36,"context_line":"dogpile \u003d"},{"line_number":37,"context_line":"  python-memcached\u003e\u003d1.56 # PSF"},{"line_number":38,"context_line":"  pymemcache\u003e\u003d3.5.0 # Apache-2.0"},{"line_number":39,"context_line":"mongo \u003d"},{"line_number":40,"context_line":"  pymongo!\u003d3.1,\u003e\u003d3.0.2 # Apache-2.0"},{"line_number":41,"context_line":"etcd3gw \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"2826f3a0_e388a7a9","line":38,"updated":"2021-11-16 15:03:04.000000000","message":"Why have we got two libraries for memcached here? I recall us switching from one to the other at some point. Is this undoing that effort?","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"2c5232f4063c819bb0a2f38489aebb3cb3242061","unresolved":true,"context_lines":[{"line_number":35,"context_line":"[extras]"},{"line_number":36,"context_line":"dogpile \u003d"},{"line_number":37,"context_line":"  python-memcached\u003e\u003d1.56 # PSF"},{"line_number":38,"context_line":"  pymemcache\u003e\u003d3.5.0 # Apache-2.0"},{"line_number":39,"context_line":"mongo \u003d"},{"line_number":40,"context_line":"  pymongo!\u003d3.1,\u003e\u003d3.0.2 # Apache-2.0"},{"line_number":41,"context_line":"etcd3gw \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":8,"id":"d664c83e_d06119c8","line":38,"in_reply_to":"2826f3a0_e388a7a9","updated":"2021-11-17 12:39:28.000000000","message":"python-memcached is still used by the memcache_pool_backend so we can\u0027t remove it and the both libraries need to cohabit.","commit_id":"132bd9307c6d12b1cff7b2a57f521da57e8f84c7"}]}
