)]}'
{".zuul.yaml":[{"author":{"_account_id":27954,"name":"Moisés Guimarães de Medeiros","email":"guimaraes@pm.me","username":"moguimar"},"change_message_id":"f85c783345026b6720579a66e94118b308736fcf","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        PIFPAF_DAEMON: memcached"},{"line_number":37,"context_line":"        # Use *OS_* prefix rather than *OSLO_* to be automatically"},{"line_number":38,"context_line":"        # loaded by oslo.config"},{"line_number":39,"context_line":"        OS_CACHE_BACKEND: oslo_cache.pymemcache_pool"},{"line_number":40,"context_line":"        OS_CACHE_MEMCACHE_SERVER: 127.0.0.1:11211"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- project:"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"1f493fa4_31073485","line":39,"range":{"start_line":39,"start_character":16,"end_line":39,"end_character":17},"updated":"2020-04-24 14:41:28.000000000","message":"IIRC this should be a dunder OS_GROUP__OPTION\n\nhttps://docs.openstack.org/oslo.config/latest/reference/drivers.html#environment","commit_id":"597ec3b79f9f8868880429ec1856f6acbe1dc9dd"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a9bee4dda2df5d3c29c57ca8f6305bed773b9e64","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        PIFPAF_DAEMON: memcached"},{"line_number":37,"context_line":"        # Use *OS_* prefix rather than *OSLO_* to be automatically"},{"line_number":38,"context_line":"        # loaded by oslo.config"},{"line_number":39,"context_line":"        OS_CACHE_BACKEND: oslo_cache.pymemcache_pool"},{"line_number":40,"context_line":"        OS_CACHE_MEMCACHE_SERVER: 127.0.0.1:11211"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- project:"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"1f493fa4_9120c8b2","line":39,"range":{"start_line":39,"start_character":16,"end_line":39,"end_character":17},"in_reply_to":"1f493fa4_31073485","updated":"2020-04-24 14:44:44.000000000","message":"Unless you want the default.","commit_id":"597ec3b79f9f8868880429ec1856f6acbe1dc9dd"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"871d2b19171ebcb195b65719875e9652cdf17df8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":40,"id":"71dfedc3_bee92194","updated":"2022-01-12 09:47:31.000000000","message":"What is the status here? Still relevant? ","commit_id":"5166196beaf052adb6a51e022871c9938f4866e9"}],"oslo_cache/_memcache_pool.py":[{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"d4580b93038f4412c40b498f86fb6be06ff1508f","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        if \u0027debug\u0027 in self._arguments:"},{"line_number":199,"context_line":"            # on python-memcached sys.stderr is used to print debug only if"},{"line_number":200,"context_line":"            # the `debug` param is given and equal to `True`."},{"line_number":201,"context_line":"            # pymemcache handle debug with standard loggin level so we"},{"line_number":202,"context_line":"            # just need to set the right log level in config to get debug"},{"line_number":203,"context_line":"            # outputs in standard logs."},{"line_number":204,"context_line":"            del self._arguments[\u0027debug\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_030c253f","line":201,"range":{"start_line":201,"start_character":52,"end_line":201,"end_character":58},"updated":"2020-03-04 23:21:45.000000000","message":"Nit: *logging","commit_id":"965e97a216c4fea4166ee22c89590087f597398c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"4c26271736bacbb73cdfebd76497525f4605a777","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        if \u0027debug\u0027 in self._arguments:"},{"line_number":199,"context_line":"            # on python-memcached sys.stderr is used to print debug only if"},{"line_number":200,"context_line":"            # the `debug` param is given and equal to `True`."},{"line_number":201,"context_line":"            # pymemcache handle debug with standard loggin level so we"},{"line_number":202,"context_line":"            # just need to set the right log level in config to get debug"},{"line_number":203,"context_line":"            # outputs in standard logs."},{"line_number":204,"context_line":"            del self._arguments[\u0027debug\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_4a0b0a23","line":201,"range":{"start_line":201,"start_character":52,"end_line":201,"end_character":58},"in_reply_to":"1fa4df85_030c253f","updated":"2020-03-05 08:22:35.000000000","message":"Good catch","commit_id":"965e97a216c4fea4166ee22c89590087f597398c"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"d4580b93038f4412c40b498f86fb6be06ff1508f","unresolved":false,"context_lines":[{"line_number":219,"context_line":"            # https://docs.python.org/3.7/library/pickle.html#data-stream-format ## noqa"},{"line_number":220,"context_line":"            serializer \u003d serde.get_python_memcache_serializer("},{"line_number":221,"context_line":"                pickle_version\u003dint(self._arguments[\u0027pickleProtocol\u0027]))"},{"line_number":222,"context_line":"            self._arguments[\u0027serializer\u0027] \u003d serializer"},{"line_number":223,"context_line":"            del self._arguments[\u0027pickleProtocol\u0027]"},{"line_number":224,"context_line":"            debtcollector.deprecate("},{"line_number":225,"context_line":"                \"`pickleProtocol` argument is deprecated and will \""}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_76535518","line":222,"updated":"2020-03-04 23:21:45.000000000","message":"Do we also need to set deserializer?","commit_id":"965e97a216c4fea4166ee22c89590087f597398c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"4c26271736bacbb73cdfebd76497525f4605a777","unresolved":false,"context_lines":[{"line_number":219,"context_line":"            # https://docs.python.org/3.7/library/pickle.html#data-stream-format ## noqa"},{"line_number":220,"context_line":"            serializer \u003d serde.get_python_memcache_serializer("},{"line_number":221,"context_line":"                pickle_version\u003dint(self._arguments[\u0027pickleProtocol\u0027]))"},{"line_number":222,"context_line":"            self._arguments[\u0027serializer\u0027] \u003d serializer"},{"line_number":223,"context_line":"            del self._arguments[\u0027pickleProtocol\u0027]"},{"line_number":224,"context_line":"            debtcollector.deprecate("},{"line_number":225,"context_line":"                \"`pickleProtocol` argument is deprecated and will \""}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_6a38469f","line":222,"in_reply_to":"1fa4df85_76535518","updated":"2020-03-05 08:22:35.000000000","message":"No I don\u0027t think we need to do the same thing for deserializer here.\n\nOn pymemcache only serializer [1][2] take care of the pickle version, so this is why I only mapped `serializer` with `pickleProtocol`, and anyway if no deserializer is given then it will be automatically set at line 253.\n\nThoughts?\n\n\n[1] https://github.com/pinterest/pymemcache/blob/master/pymemcache/serde.py#L43\n[2] https://github.com/pinterest/pymemcache/blob/master/pymemcache/serde.py#L82","commit_id":"965e97a216c4fea4166ee22c89590087f597398c"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"d4580b93038f4412c40b498f86fb6be06ff1508f","unresolved":false,"context_lines":[{"line_number":251,"context_line":"            self._arguments[\u0027serializer\u0027] \u003d DEFAULT_SERIALIZER"},{"line_number":252,"context_line":"        if \u0027deserializer\u0027 not in self._arguments:"},{"line_number":253,"context_line":"            self._arguments[\u0027deserializer\u0027] \u003d DEFAULT_DESERIALIZER"},{"line_number":254,"context_line":"        if \u0027pload\u0027 in self._arguments:"},{"line_number":255,"context_line":"            del self._arguments[\u0027pload\u0027]"},{"line_number":256,"context_line":"            debtcollector.deprecate("},{"line_number":257,"context_line":"                \"`pload` argument is deprecated and no longer \""}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_166d41cb","line":254,"updated":"2020-03-04 23:21:45.000000000","message":"I assume all of these have no meaning in pymemcache?","commit_id":"965e97a216c4fea4166ee22c89590087f597398c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"4c26271736bacbb73cdfebd76497525f4605a777","unresolved":false,"context_lines":[{"line_number":251,"context_line":"            self._arguments[\u0027serializer\u0027] \u003d DEFAULT_SERIALIZER"},{"line_number":252,"context_line":"        if \u0027deserializer\u0027 not in self._arguments:"},{"line_number":253,"context_line":"            self._arguments[\u0027deserializer\u0027] \u003d DEFAULT_DESERIALIZER"},{"line_number":254,"context_line":"        if \u0027pload\u0027 in self._arguments:"},{"line_number":255,"context_line":"            del self._arguments[\u0027pload\u0027]"},{"line_number":256,"context_line":"            debtcollector.deprecate("},{"line_number":257,"context_line":"                \"`pload` argument is deprecated and no longer \""}],"source_content_type":"text/x-python","patch_set":7,"id":"1fa4df85_2a06ce1d","line":254,"in_reply_to":"1fa4df85_166d41cb","updated":"2020-03-05 08:22:35.000000000","message":"exact","commit_id":"965e97a216c4fea4166ee22c89590087f597398c"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"8458c9e80f48bc6b3c77853b6e9523ae34d26c0e","unresolved":false,"context_lines":[{"line_number":276,"context_line":"            # prior to pymemcache first"},{"line_number":277,"context_line":"            if \u0027connection_timeout\u0027 not in self._arguments:"},{"line_number":278,"context_line":"                timeout \u003d self._arguments[\u0027socket_timeout\u0027]"},{"line_number":279,"context_line":"                self._arguments[\u0027connection_timeout\u0027] \u003d timeout"},{"line_number":280,"context_line":"            else:"},{"line_number":281,"context_line":"                self._debug_logger("},{"line_number":282,"context_line":"                    \u0027connection_timeout is given socket_timeout \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"1fa4df85_45377d4e","line":279,"range":{"start_line":279,"start_character":33,"end_line":279,"end_character":51},"updated":"2020-03-05 10:09:52.000000000","message":"Looks like it doesn\u0027t like this:\n\nhttps://2e2758d1408492f410e7-6319048316c626def25c176077b7ea65.ssl.cf1.rackcdn.com/711227/4/check/kolla-ansible-centos8-source/4448393/primary/logs/kolla/keystone/keystone.txt","commit_id":"391a05c1afd0005b914595d3169006c979c8cf43"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"0c8fb400511bd5ba721766ed44dcd30e16f859c4","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        # super() cannot be used here because Queue in stdlib is an"},{"line_number":346,"context_line":"        # old-style class"},{"line_number":347,"context_line":"        conn \u003d ConnectionPool._get(self)"},{"line_number":348,"context_line":"        try:"},{"line_number":349,"context_line":"            # Propagate host state known to us to this client\u0027s list"},{"line_number":350,"context_line":"            now \u003d time.time()"},{"line_number":351,"context_line":"            for deaduntil, host in zip(self._hosts_deaduntil, conn.clients):"},{"line_number":352,"context_line":"                if deaduntil \u003e now and host.deaduntil \u003c\u003d now:"},{"line_number":353,"context_line":"                    self._debug_logger("},{"line_number":354,"context_line":"                        \"Memcache: %s: \""},{"line_number":355,"context_line":"                        \"propagating death mark from the pool. Marking dead\""},{"line_number":356,"context_line":"                        % host)"},{"line_number":357,"context_line":"                    server \u003d conn.clients[host].server"},{"line_number":358,"context_line":"                    port \u003d conn.clients[host].port"},{"line_number":359,"context_line":"                    host.remove_server(server, port)"},{"line_number":360,"context_line":"                host.deaduntil \u003d deaduntil"},{"line_number":361,"context_line":"        except Exception:"},{"line_number":362,"context_line":"            # We need to be sure that connection doesn\u0027t leak from the pool."},{"line_number":363,"context_line":"            # This code runs before we enter context manager\u0027s try-finally"},{"line_number":364,"context_line":"            # block, so we need to explicitly release it here."},{"line_number":365,"context_line":"            # super() cannot be used here because Queue in stdlib is an"},{"line_number":366,"context_line":"            # old-style class"},{"line_number":367,"context_line":"            ConnectionPool._put(self, conn)"},{"line_number":368,"context_line":"            raise"},{"line_number":369,"context_line":"        return conn"},{"line_number":370,"context_line":""},{"line_number":371,"context_line":"    def _put(self, conn):"},{"line_number":372,"context_line":"        try:"},{"line_number":373,"context_line":"            # If this client found that one of the hosts is dead, mark it as"},{"line_number":374,"context_line":"            # such in our internal list"},{"line_number":375,"context_line":"            now \u003d time.time()"},{"line_number":376,"context_line":"            for i, host in zip(itertools.count(), conn.clients):"},{"line_number":377,"context_line":"                deaduntil \u003d self._hosts_deaduntil[i]"},{"line_number":378,"context_line":"                # Do nothing if we already know this host is dead"},{"line_number":379,"context_line":"                if deaduntil \u003c\u003d now:"},{"line_number":380,"context_line":"                    if host.deaduntil \u003e now:"},{"line_number":381,"context_line":"                        self._hosts_deaduntil[i] \u003d host.deaduntil"},{"line_number":382,"context_line":"                        self._debug_logger("},{"line_number":383,"context_line":"                            \u0027Marked host %s dead until %s\u0027,"},{"line_number":384,"context_line":"                            self.urls[i], host.deaduntil)"},{"line_number":385,"context_line":"                    else:"},{"line_number":386,"context_line":"                        self._hosts_deaduntil[i] \u003d 0"},{"line_number":387,"context_line":"            # If all hosts are dead we should forget that they\u0027re dead. This"},{"line_number":388,"context_line":"            # way we won\u0027t get completely shut off until dead_retry seconds"},{"line_number":389,"context_line":"            # pass, but will be checking servers as frequent as we can (over"},{"line_number":390,"context_line":"            # way smaller socket_timeout)"},{"line_number":391,"context_line":"            if all(deaduntil \u003e now for deaduntil in self._hosts_deaduntil):"},{"line_number":392,"context_line":"                self._debug_logger(\u0027All hosts are dead. Marking them as live.\u0027)"},{"line_number":393,"context_line":"                self._hosts_deaduntil[:] \u003d [0] * len(self._hosts_deaduntil)"},{"line_number":394,"context_line":"        finally:"},{"line_number":395,"context_line":"            # super() cannot be used here because Queue in stdlib is an"},{"line_number":396,"context_line":"            # old-style class"}],"source_content_type":"text/x-python","patch_set":15,"id":"1fa4df85_1320b8f6","line":393,"range":{"start_line":348,"start_character":0,"end_line":393,"end_character":75},"updated":"2020-03-09 18:07:42.000000000","message":"The libraries really handle connections differently, I was able to fix some parts of this locally, but I wittnessed lot of differences between the two libraries on dead hosts where pymemcache drop automatically dead host and python-memcached not, but the main issue behind this behavior is that on oslo.cache we don\u0027t want to drop conn.clients to continue even if host are dead.\n\nI suppose we want to delegate dead host management to failover mechanismes like pacemaker by example and oslo.cache memcached servers\u0027s management is based on simple retrying while host will re-become up.\n\nAnother point is that on python-memcached connection\u0027s properties like `deaduntil` etc... are public, and on pymemcache these elements are not public, so to obtain similar results here we should tweak private/protected properties not exposed by the pymemcache API, which is something that I really prefer to avoid.\n\nIMO The benefits behind switching from one library to another are too low compared to the possible side effects we risk to face, I think we should give priority to stability, in other words since the side effects behind these changes are to high it could be a wise decision to restore the python-memcached based backend.\n\nI prefer to do more tests during 1 or 2 days before abandoning definitely these changes.","commit_id":"6eab131da80a8e11ef358d1bcc12277556096295"}],"oslo_cache/_opts.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c7c739bc65cc46961db3ecae015a2ad8aaaa4ff1","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                   \u0027(dogpile.cache.redis) is recommended. Test environments \u0027"},{"line_number":56,"context_line":"                   \u0027with a single instance of the server can use the \u0027"},{"line_number":57,"context_line":"                   \u0027dogpile.cache.memory backend. oslo_cache.pymemcache_pool \u0027"},{"line_number":58,"context_line":"                   \u0027is an experimental backend which aim to replace the \u0027"},{"line_number":59,"context_line":"                   \u0027oslo_cache.memcache_pool with a more modern library \u0027"},{"line_number":60,"context_line":"                   \u0027(pymemcache).\u0027),"},{"line_number":61,"context_line":"        cfg.MultiStrOpt(\u0027backend_argument\u0027, default\u003d[], secret\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":37,"id":"1f493fa4_a92d41a9","line":58,"range":{"start_line":58,"start_character":53,"end_line":58,"end_character":56},"updated":"2020-04-29 10:06:45.000000000","message":"aims","commit_id":"6d6b8e5a4ab3a53490badfc3a3a3f57f48b3893a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c7c739bc65cc46961db3ecae015a2ad8aaaa4ff1","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                   \u0027with a single instance of the server can use the \u0027"},{"line_number":57,"context_line":"                   \u0027dogpile.cache.memory backend. oslo_cache.pymemcache_pool \u0027"},{"line_number":58,"context_line":"                   \u0027is an experimental backend which aim to replace the \u0027"},{"line_number":59,"context_line":"                   \u0027oslo_cache.memcache_pool with a more modern library \u0027"},{"line_number":60,"context_line":"                   \u0027(pymemcache).\u0027),"},{"line_number":61,"context_line":"        cfg.MultiStrOpt(\u0027backend_argument\u0027, default\u003d[], secret\u003dTrue,"},{"line_number":62,"context_line":"                        help\u003d\u0027Arguments supplied to the backend module. \u0027"}],"source_content_type":"text/x-python","patch_set":37,"id":"1f493fa4_e91c6979","line":59,"range":{"start_line":59,"start_character":44,"end_line":59,"end_character":45},"updated":"2020-04-29 10:06:45.000000000","message":"backend","commit_id":"6d6b8e5a4ab3a53490badfc3a3a3f57f48b3893a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c7c739bc65cc46961db3ecae015a2ad8aaaa4ff1","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                   default\u003d5 * 60,"},{"line_number":111,"context_line":"                   help\u003d\u0027Number of seconds memcached server is considered dead\u0027"},{"line_number":112,"context_line":"                   \u0027 before it is tried again. \u0027"},{"line_number":113,"context_line":"                   \u0027(oslo_cache.pymemcache_pool backends only).\u0027),"},{"line_number":114,"context_line":"        cfg.IntOpt(\u0027memcache_connect_timeout\u0027,"},{"line_number":115,"context_line":"                   default\u003d5 * 60,"},{"line_number":116,"context_line":"                   help\u003d\u0027Timeout in seconds for every call to a server.\u0027"}],"source_content_type":"text/x-python","patch_set":37,"id":"1f493fa4_2913f167","line":113,"range":{"start_line":113,"start_character":48,"end_line":113,"end_character":56},"updated":"2020-04-29 10:06:45.000000000","message":"backend","commit_id":"6d6b8e5a4ab3a53490badfc3a3a3f57f48b3893a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c7c739bc65cc46961db3ecae015a2ad8aaaa4ff1","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        cfg.IntOpt(\u0027memcache_connect_timeout\u0027,"},{"line_number":115,"context_line":"                   default\u003d5 * 60,"},{"line_number":116,"context_line":"                   help\u003d\u0027Timeout in seconds for every call to a server.\u0027"},{"line_number":117,"context_line":"                   \u0027(oslo_cache.pymemcache_pool backends only).\u0027),"},{"line_number":118,"context_line":"    ],"},{"line_number":119,"context_line":"}"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"1f493fa4_0916f555","line":117,"range":{"start_line":117,"start_character":48,"end_line":117,"end_character":56},"updated":"2020-04-29 10:06:45.000000000","message":"backend","commit_id":"6d6b8e5a4ab3a53490badfc3a3a3f57f48b3893a"}],"oslo_cache/_pymemcache_pool.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c7c739bc65cc46961db3ecae015a2ad8aaaa4ff1","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from oslo_log import log"},{"line_number":19,"context_line":"from pymemcache.client import hash as pymemcache_hash"},{"line_number":20,"context_line":"from pymemcache import serde"},{"line_number":21,"context_line":"from six.moves.urllib.parse import urlparse"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from oslo_cache._connection_pool import ConnectionPool"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"1f493fa4_89016509","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":43},"updated":"2020-04-29 10:06:45.000000000","message":"nit: you could just use the native py3 libs now","commit_id":"6d6b8e5a4ab3a53490badfc3a3a3f57f48b3893a"}],"oslo_cache/backends/memcache_pool.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"05a1e7ae10fd545fcd45295eb8f4e94ad69b02e8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.client_pool \u003d _memcache_pool.MemcacheClientPool("},{"line_number":45,"context_line":"            self.url,"},{"line_number":46,"context_line":"            arguments\u003d{"},{"line_number":47,"context_line":"                \u0027dead_timeout\u0027: arguments.get(\u0027dead_timeout\u0027, 5 * 60),"},{"line_number":48,"context_line":"                \u0027connect_timeout\u0027: arguments.get(\u0027connect_timeout\u0027, 3.0),"},{"line_number":49,"context_line":"            },"},{"line_number":50,"context_line":"            maxsize\u003darguments.get(\u0027pool_maxsize\u0027, 10),"},{"line_number":51,"context_line":"            unused_timeout\u003darguments.get(\u0027pool_unused_timeout\u0027, 60),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1fa4df85_a5d751ee","line":48,"range":{"start_line":47,"start_character":0,"end_line":48,"end_character":73},"updated":"2020-03-05 10:06:14.000000000","message":"Should this accept and translate the old argument names too?","commit_id":"b7ccf2757fe4787d44714ba6ea592a47ea23e3fb"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"0ce656e2ef98bfbb65e94235f6425ad367887e2c","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.client_pool \u003d _memcache_pool.MemcacheClientPool("},{"line_number":45,"context_line":"            self.url,"},{"line_number":46,"context_line":"            arguments\u003d{"},{"line_number":47,"context_line":"                \u0027dead_timeout\u0027: arguments.get(\u0027dead_timeout\u0027, 5 * 60),"},{"line_number":48,"context_line":"                \u0027connect_timeout\u0027: arguments.get(\u0027connect_timeout\u0027, 3.0),"},{"line_number":49,"context_line":"            },"},{"line_number":50,"context_line":"            maxsize\u003darguments.get(\u0027pool_maxsize\u0027, 10),"},{"line_number":51,"context_line":"            unused_timeout\u003darguments.get(\u0027pool_unused_timeout\u0027, 60),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1fa4df85_e52549c3","line":48,"range":{"start_line":47,"start_character":0,"end_line":48,"end_character":73},"in_reply_to":"1fa4df85_a5d751ee","updated":"2020-03-05 10:28:49.000000000","message":"I personnaly prefer to manage translation internally (in MemcacheClientPool) to keep that in a black box and centralized in one place.\n\nAnyway if old arguments are passed here they will be ignored because I preferd give prior to pymemcache arguments if they are givens. \n\nThoughts?","commit_id":"b7ccf2757fe4787d44714ba6ea592a47ea23e3fb"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5d91ab8eb1b43f51cf8d5a6e3858d37d9cfc3f2f","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        self.client_pool \u003d _memcache_pool.MemcacheClientPool("},{"line_number":45,"context_line":"            self.url,"},{"line_number":46,"context_line":"            arguments\u003d{"},{"line_number":47,"context_line":"                \u0027dead_timeout\u0027: arguments.get(\u0027dead_timeout\u0027, 5 * 60),"},{"line_number":48,"context_line":"                \u0027connect_timeout\u0027: arguments.get(\u0027connect_timeout\u0027, 3.0),"},{"line_number":49,"context_line":"            },"},{"line_number":50,"context_line":"            maxsize\u003darguments.get(\u0027pool_maxsize\u0027, 10),"},{"line_number":51,"context_line":"            unused_timeout\u003darguments.get(\u0027pool_unused_timeout\u0027, 60),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1fa4df85_09bd1f01","line":48,"range":{"start_line":47,"start_character":0,"end_line":48,"end_character":73},"in_reply_to":"1fa4df85_e52549c3","updated":"2020-03-05 10:43:26.000000000","message":"I don\u0027t fully understand the design of this library yet, but is this class (and its arguments) exposed to consumers?","commit_id":"b7ccf2757fe4787d44714ba6ea592a47ea23e3fb"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9418893e7338acb4f58efec0dfc26b70d3126771","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        super(PooledMemcachedBackend, self).__init__(arguments)"},{"line_number":44,"context_line":"        self.client_pool \u003d _memcache_pool.MemcacheClientPool("},{"line_number":45,"context_line":"            self.url,"},{"line_number":46,"context_line":"            arguments\u003d{"},{"line_number":47,"context_line":"                \u0027dead_timeout\u0027: arguments.get(\u0027dead_timeout\u0027, 5 * 60),"},{"line_number":48,"context_line":"                \u0027connect_timeout\u0027: arguments.get(\u0027connect_timeout\u0027, 3.0),"},{"line_number":49,"context_line":"            },"}],"source_content_type":"text/x-python","patch_set":10,"id":"1fa4df85_49fb1778","line":46,"updated":"2020-03-05 10:59:45.000000000","message":"I ran a test just dropping these arguments, and hit another issue:\n\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_cc5/711417/1/check/kolla-ansible-centos8-source/cc5b551/primary/logs/kolla/keystone/keystone.txt","commit_id":"3d129f6d676bb8dbbb0b74e68ab15cfe33a4984e"}],"releasenotes/notes/deprecate-python-memcached-arguments-572520e7e833e3a1.yaml":[{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"d4580b93038f4412c40b498f86fb6be06ff1508f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    library, we need to support them by introducing a mapping maintained"},{"line_number":12,"context_line":"    during some period to avoid possible issues_."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":".. _issues: https://bugs.launchpad.net/kolla-ansible/+bug/1866008"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"1fa4df85_43a1bd45","line":14,"updated":"2020-03-04 23:21:45.000000000","message":"Reno doesn\u0027t like this. I think it might need to be indented to match the fixes text. Otherwise it\u0027s getting parsed as YAML instead of RST.","commit_id":"965e97a216c4fea4166ee22c89590087f597398c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"4c26271736bacbb73cdfebd76497525f4605a777","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    library, we need to support them by introducing a mapping maintained"},{"line_number":12,"context_line":"    during some period to avoid possible issues_."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":".. _issues: https://bugs.launchpad.net/kolla-ansible/+bug/1866008"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"1fa4df85_4a430a14","line":14,"in_reply_to":"1fa4df85_43a1bd45","updated":"2020-03-05 08:22:35.000000000","message":"Oh yep good catch, I was not sure about this one.","commit_id":"965e97a216c4fea4166ee22c89590087f597398c"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8b95d79ab87203bd00b969ec1cf37cc3e3ed18fe","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    `socket_timeout`"},{"line_number":16,"context_line":"fixes:"},{"line_number":17,"context_line":"  - |"},{"line_number":18,"context_line":"    Some clients gives arguments that correspond to the python-memcached"},{"line_number":19,"context_line":"    library, we need to support them by introducing a mapping maintained"},{"line_number":20,"context_line":"    during some period to avoid possible issues_ and allow user to migrate"},{"line_number":21,"context_line":"    to the right arguments."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1fa4df85_4580dd46","line":18,"range":{"start_line":18,"start_character":4,"end_line":18,"end_character":22},"updated":"2020-03-05 09:46:53.000000000","message":"Well, for us it\u0027s oslo.cache breaking itself: https://opendev.org/openstack/oslo.cache/src/commit/8a8248d764bbb1db6c0089a58745803c03e38fdb/oslo_cache/backends/memcache_pool.py#L47-L50\n\nYou are probably going to get deprecation warnings each time with this.","commit_id":"391a05c1afd0005b914595d3169006c979c8cf43"}]}
