)]}'
{"oslo_cache/core.py":[{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"85f954a7f894114f5fea1632083c68f7425991bd","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        # take data and do not handle processing/validation as expected"},{"line_number":129,"context_line":"        # directly makes for odd behaviors when wrapping dogpile.cache in"},{"line_number":130,"context_line":"        # a library like oslo.cache"},{"line_number":131,"context_line":"        if (conf.cache.backend"},{"line_number":132,"context_line":"                in (\u0027dogpile.cache.memcached\u0027, \u0027oslo_cache.memcache_pool\u0027)"},{"line_number":133,"context_line":"                and argname \u003d\u003d \u0027url\u0027):"},{"line_number":134,"context_line":"            argvalue \u003d argvalue.split(\u0027,\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_33cb6673","line":131,"updated":"2018-11-09 18:03:32.000000000","message":"what about other memcache backends? like pylibmc.   when we say \"other backends such as redis\", do we mean *only* redis? are there other kinds of backends outside of redis/memcached that have lists of URLs to handle?   oslo.cache might want to be more all-encompassing/curating about the backends here.","commit_id":"356cdc13b6aac02c688dba4c050acfc795678ffa"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"7e86517f51e899dea939654bd8afd2b1e56b01f3","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        # take data and do not handle processing/validation as expected"},{"line_number":129,"context_line":"        # directly makes for odd behaviors when wrapping dogpile.cache in"},{"line_number":130,"context_line":"        # a library like oslo.cache"},{"line_number":131,"context_line":"        if (conf.cache.backend"},{"line_number":132,"context_line":"                in (\u0027dogpile.cache.memcached\u0027, \u0027oslo_cache.memcache_pool\u0027)"},{"line_number":133,"context_line":"                and argname \u003d\u003d \u0027url\u0027):"},{"line_number":134,"context_line":"            argvalue \u003d argvalue.split(\u0027,\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_7056a95f","line":131,"in_reply_to":"3f79a3b5_33cb6673","updated":"2018-11-10 18:23:55.000000000","message":"I need to go through and address all the backends explicitly. This change however, is correcting a break that was introduced in the previous and isolating the fix to just python-memcached (for now). The change can be expanded once I confirm each of the backends and start implementing a \"this is what the options should be\".\n\nI really think we need a better way in dogpile to coerce the passed in options to values we expect, but that is pretty deep. I have an idea on how to communicate that upwards and it starts with the pymemcache driver. It\u0027ll be a two fold validation\n\n1) a dict/list of arguments (valid) on the backend and validation at the backend\n2) oslo_cache leaning on that communication from the backend to determine how to coerce values (some will be one-off like url-\u003esplit, some will simply be \"int(value)\").\n\nThe alternative to landing this is https://review.openstack.org/#/c/615960/ and reverting the previous change so it doesn\u0027t break ceilometer. Either direction (isolating this to python-memcached initially) or reverting is fine IMO.","commit_id":"356cdc13b6aac02c688dba4c050acfc795678ffa"}]}
