)]}'
{"keystone/common/cache/_context_cache.py":[{"author":{"_account_id":20089,"name":"Shawn Berger","email":"slberger@us.ibm.com","username":"slberger"},"change_message_id":"45eda3e403351a42c473e172fab1dfc1f787d507","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            ctx \u003d self._get_request_context()"},{"line_number":47,"context_line":"        serialize \u003d {\u0027payload\u0027: value.payload, \u0027metadata\u0027: value.metadata}"},{"line_number":48,"context_line":"        setattr(ctx, self._get_request_key(key), msgpackutils.dumps(serialize))"},{"line_number":49,"context_line":"        ctx.update_store()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def _get_local_cache(self, key):"},{"line_number":52,"context_line":"        # Return the version from our local request cache if it exists."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_33231c07","side":"PARENT","line":49,"updated":"2016-09-23 16:09:09.000000000","message":"Ok that makes a lot more sense. This looks good to me then.","commit_id":"dc9a1d5f7061f2de6b75a79ad3133d9e3c14046a"},{"author":{"_account_id":20089,"name":"Shawn Berger","email":"slberger@us.ibm.com","username":"slberger"},"change_message_id":"80f2ee8a1aeea8b4ddad5705b26e2ddd5134f1d7","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            ctx \u003d self._get_request_context()"},{"line_number":47,"context_line":"        serialize \u003d {\u0027payload\u0027: value.payload, \u0027metadata\u0027: value.metadata}"},{"line_number":48,"context_line":"        setattr(ctx, self._get_request_key(key), msgpackutils.dumps(serialize))"},{"line_number":49,"context_line":"        ctx.update_store()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def _get_local_cache(self, key):"},{"line_number":52,"context_line":"        # Return the version from our local request cache if it exists."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_a84ed793","side":"PARENT","line":49,"updated":"2016-09-23 15:56:45.000000000","message":"Wouldn\u0027t this still be required in order to make sure the context can still switch between threads?","commit_id":"dc9a1d5f7061f2de6b75a79ad3133d9e3c14046a"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"1650066602e97fc20ddc6e8b88cb2e48480ceee7","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            ctx \u003d self._get_request_context()"},{"line_number":47,"context_line":"        serialize \u003d {\u0027payload\u0027: value.payload, \u0027metadata\u0027: value.metadata}"},{"line_number":48,"context_line":"        setattr(ctx, self._get_request_key(key), msgpackutils.dumps(serialize))"},{"line_number":49,"context_line":"        ctx.update_store()"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def _get_local_cache(self, key):"},{"line_number":52,"context_line":"        # Return the version from our local request cache if it exists."}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_534d086b","side":"PARENT","line":49,"in_reply_to":"5a8bc5a2_a84ed793","updated":"2016-09-23 16:00:58.000000000","message":"The context must not switch between threads. It\u0027s stored in thread-local memory so the instance of the context is different for each thread.","commit_id":"dc9a1d5f7061f2de6b75a79ad3133d9e3c14046a"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"fe8cbf77a30feb733be10adf44a886afcf5aeaea","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        ctx \u003d self._get_request_context()"},{"line_number":64,"context_line":"        try:"},{"line_number":65,"context_line":"            delattr(ctx, self._get_request_key(key))"},{"line_number":66,"context_line":"            ctx.update_store()"},{"line_number":67,"context_line":"        except AttributeError:  # nosec"},{"line_number":68,"context_line":"            # NOTE(morganfainberg): We will simply pass here, this value has"},{"line_number":69,"context_line":"            # not been cached locally in the request."}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_15393bd7","line":66,"range":{"start_line":66,"start_character":12,"end_line":66,"end_character":30},"updated":"2016-10-03 12:15:54.000000000","message":"also, shouldn\u0027t this be removed too?","commit_id":"a9912b2392b1e81efcbf69e906b2a789bf2a50ee"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c61ee4ce4dde0f7a741c3e6617602a0f51478f5d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        ctx \u003d self._get_request_context()"},{"line_number":64,"context_line":"        try:"},{"line_number":65,"context_line":"            delattr(ctx, self._get_request_key(key))"},{"line_number":66,"context_line":"            ctx.update_store()"},{"line_number":67,"context_line":"        except AttributeError:  # nosec"},{"line_number":68,"context_line":"            # NOTE(morganfainberg): We will simply pass here, this value has"},{"line_number":69,"context_line":"            # not been cached locally in the request."}],"source_content_type":"text/x-python","patch_set":1,"id":"3a98d1f4_0abf5561","line":66,"range":{"start_line":66,"start_character":12,"end_line":66,"end_character":30},"in_reply_to":"3a98d1f4_15393bd7","updated":"2016-10-03 14:17:13.000000000","message":"Yes, this should be removed.","commit_id":"a9912b2392b1e81efcbf69e906b2a789bf2a50ee"}]}
