)]}'
{"oslo_cache/backends/etcd3gw.py":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"17afa6e1c06e4f9bcad90315a5735ba21bea4f08","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"# under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\"\"\"dogpile.cache backend that uses dictionary for storage\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from __future__ import absolute_import"},{"line_number":18,"context_line":"import ast"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_56aa3019","line":15,"range":{"start_line":15,"start_character":35,"end_line":15,"end_character":45},"updated":"2017-05-26 12:31:18.000000000","message":"etcd3 ?","commit_id":"f06d06112f82eda35004e4cee978eaa3bd796e63"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"dd5d6f175a6cb60a287caf3319d3a4e79218a24c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"# under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"\"\"\"dogpile.cache backend that uses dictionary for storage\"\"\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from __future__ import absolute_import"},{"line_number":18,"context_line":"import ast"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_655334e4","line":15,"range":{"start_line":15,"start_character":35,"end_line":15,"end_character":45},"in_reply_to":"ff0f0b1f_56aa3019","updated":"2017-05-26 14:47:28.000000000","message":"yep. will fix.","commit_id":"f06d06112f82eda35004e4cee978eaa3bd796e63"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"17afa6e1c06e4f9bcad90315a5735ba21bea4f08","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                                      timeout\u003dself.timeout)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get(self, key):"},{"line_number":50,"context_line":"        values \u003d self._client.get(key, False)"},{"line_number":51,"context_line":"        if not values:"},{"line_number":52,"context_line":"            return core.NO_VALUE"},{"line_number":53,"context_line":"        (value, metadata) \u003d ast.literal_eval(values[0])"},{"line_number":54,"context_line":"        return api.CachedValue(value, metadata)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def get_multi(self, keys):"},{"line_number":57,"context_line":"        \"\"\"Retrieves the value for a list of keys.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_5949435e","line":54,"range":{"start_line":50,"start_character":0,"end_line":54,"end_character":47},"updated":"2017-05-26 12:31:18.000000000","message":"Does etcd handle ttl timeout case ?\nOr need handle like we did in memory backend.","commit_id":"f06d06112f82eda35004e4cee978eaa3bd796e63"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"dd5d6f175a6cb60a287caf3319d3a4e79218a24c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                                      timeout\u003dself.timeout)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def get(self, key):"},{"line_number":50,"context_line":"        values \u003d self._client.get(key, False)"},{"line_number":51,"context_line":"        if not values:"},{"line_number":52,"context_line":"            return core.NO_VALUE"},{"line_number":53,"context_line":"        (value, metadata) \u003d ast.literal_eval(values[0])"},{"line_number":54,"context_line":"        return api.CachedValue(value, metadata)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def get_multi(self, keys):"},{"line_number":57,"context_line":"        \"\"\"Retrieves the value for a list of keys.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_056478b8","line":54,"range":{"start_line":50,"start_character":0,"end_line":54,"end_character":47},"in_reply_to":"ff0f0b1f_5949435e","updated":"2017-05-26 14:47:28.000000000","message":"yes, etcd handles it. see the lease below. when the lease expires the keys are nuked","commit_id":"f06d06112f82eda35004e4cee978eaa3bd796e63"}],"tox.ini":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"17afa6e1c06e4f9bcad90315a5735ba21bea4f08","unresolved":false,"context_lines":[{"line_number":19,"context_line":"[testenv:py27-functional-etcd3gw]"},{"line_number":20,"context_line":"commands \u003d"},{"line_number":21,"context_line":"    find . -type f -name \"*.pyc\" -delete"},{"line_number":22,"context_line":"    {toxinidir}/tools/setup-etcd-env.sh pifpaf -e TOOZ_TEST run etcd --  python setup.py testr --slowest --testr-args\u003d\u0027functional.*\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[testenv:py35-functional-etcd3gw]"},{"line_number":25,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff0f0b1f_39b44f35","line":22,"range":{"start_line":22,"start_character":50,"end_line":22,"end_character":59},"updated":"2017-05-26 12:31:18.000000000","message":"Can you add explain why need this ?","commit_id":"f06d06112f82eda35004e4cee978eaa3bd796e63"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"dd5d6f175a6cb60a287caf3319d3a4e79218a24c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"[testenv:py27-functional-etcd3gw]"},{"line_number":20,"context_line":"commands \u003d"},{"line_number":21,"context_line":"    find . -type f -name \"*.pyc\" -delete"},{"line_number":22,"context_line":"    {toxinidir}/tools/setup-etcd-env.sh pifpaf -e TOOZ_TEST run etcd --  python setup.py testr --slowest --testr-args\u003d\u0027functional.*\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"[testenv:py35-functional-etcd3gw]"},{"line_number":25,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ff0f0b1f_85464821","line":22,"range":{"start_line":22,"start_character":50,"end_line":22,"end_character":59},"in_reply_to":"ff0f0b1f_39b44f35","updated":"2017-05-26 14:47:28.000000000","message":"pifpaf --help shows the following:\n  --env-prefix ENV_PREFIX, -e ENV_PREFIX\n                        prefix to use for environment variables (default:\n                        PIFPAF)\n\nOf course will fix this to be OSLO_CACHE_TEST instead of TOOZ :)","commit_id":"f06d06112f82eda35004e4cee978eaa3bd796e63"}]}
