)]}'
{"oslo/messaging/_drivers/amqp.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"57da6b7ec4e10251d34c8c40ad8e91d471ea3709","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    context_dict[\u0027reply_q\u0027] \u003d msg.pop(\u0027_reply_q\u0027, None)"},{"line_number":166,"context_line":"    context_dict[\u0027conf\u0027] \u003d conf"},{"line_number":167,"context_line":"    ctx \u003d RpcContext.from_dict(context_dict)"},{"line_number":168,"context_line":"    LOG.debug(\u0027unpacked context: %s\u0027,"},{"line_number":169,"context_line":"              strutils.mask_password(six.u(ctx.to_dict())))"},{"line_number":170,"context_line":"    return ctx"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_e305747a","line":168,"updated":"2015-01-07 16:58:10.000000000","message":"This should be a unicode string, in case the unicode representation of the context includes something that can\u0027t be encoded to ascii.","commit_id":"8948ea1f8a4dc4342bfd2a5c54a364b8a0d1b26f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b6c06cfd50cfdb1b434c0d06b705f060e1cc41d8","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    context_dict[\u0027reply_q\u0027] \u003d msg.pop(\u0027_reply_q\u0027, None)"},{"line_number":166,"context_line":"    context_dict[\u0027conf\u0027] \u003d conf"},{"line_number":167,"context_line":"    ctx \u003d RpcContext.from_dict(context_dict)"},{"line_number":168,"context_line":"    LOG.debug(\u0027unpacked context: %s\u0027,"},{"line_number":169,"context_line":"              strutils.mask_password(six.u(ctx.to_dict())))"},{"line_number":170,"context_line":"    return ctx"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_63dc24e5","line":168,"in_reply_to":"3a961159_e305747a","updated":"2015-01-07 17:06:00.000000000","message":"then we was lucky in the past :), fixed.","commit_id":"8948ea1f8a4dc4342bfd2a5c54a364b8a0d1b26f"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"361f607a102a282548938a925723dc48ac7abf97","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    context_dict[\u0027conf\u0027] \u003d conf"},{"line_number":167,"context_line":"    ctx \u003d RpcContext.from_dict(context_dict)"},{"line_number":168,"context_line":"    LOG.debug(\u0027unpacked context: %s\u0027,"},{"line_number":169,"context_line":"              strutils.mask_password(six.u(ctx.to_dict())))"},{"line_number":170,"context_line":"    return ctx"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_63034442","line":169,"updated":"2015-01-07 17:03:10.000000000","message":"Also, six.u is only supposed to be used with string literals.  It was supposed to be a replacement for u\u0027foo\u0027, but that\u0027s been reintroduced in Python 3.3.\n\nTo cast a value to unicode you should use six.text_type instead.","commit_id":"8948ea1f8a4dc4342bfd2a5c54a364b8a0d1b26f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b6c06cfd50cfdb1b434c0d06b705f060e1cc41d8","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    context_dict[\u0027conf\u0027] \u003d conf"},{"line_number":167,"context_line":"    ctx \u003d RpcContext.from_dict(context_dict)"},{"line_number":168,"context_line":"    LOG.debug(\u0027unpacked context: %s\u0027,"},{"line_number":169,"context_line":"              strutils.mask_password(six.u(ctx.to_dict())))"},{"line_number":170,"context_line":"    return ctx"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_4345686d","line":169,"in_reply_to":"3a961159_63034442","updated":"2015-01-07 17:06:00.000000000","message":"Done","commit_id":"8948ea1f8a4dc4342bfd2a5c54a364b8a0d1b26f"}],"oslo/messaging/_drivers/amqpdriver.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"57da6b7ec4e10251d34c8c40ad8e91d471ea3709","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        self._stopped \u003d threading.Event()"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __call__(self, message):"},{"line_number":99,"context_line":"        ctxt \u003d rpc_amqp.unpack_context(self.conf, message)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        # FIXME(sileht): Don\u0027t log the message until strutils is more"},{"line_number":102,"context_line":"        # efficient, (rpc_amqp.unpack_context already log the context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_43364852","line":99,"updated":"2015-01-07 16:58:10.000000000","message":"Why change the order of calls for unpack_context() and check_duplicate_message()?","commit_id":"8948ea1f8a4dc4342bfd2a5c54a364b8a0d1b26f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b6c06cfd50cfdb1b434c0d06b705f060e1cc41d8","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        self._stopped \u003d threading.Event()"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    def __call__(self, message):"},{"line_number":99,"context_line":"        ctxt \u003d rpc_amqp.unpack_context(self.conf, message)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        # FIXME(sileht): Don\u0027t log the message until strutils is more"},{"line_number":102,"context_line":"        # efficient, (rpc_amqp.unpack_context already log the context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_c3f4f856","line":99,"in_reply_to":"3a961159_43364852","updated":"2015-01-07 17:06:00.000000000","message":"because rpc_amqp.unpack_context log the context and check_duplicate_message can raise an exception. So I call it before anything else to log the context in all case.","commit_id":"8948ea1f8a4dc4342bfd2a5c54a364b8a0d1b26f"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"361f607a102a282548938a925723dc48ac7abf97","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        # FIXME(sileht): Don\u0027t log the message until strutils is more"},{"line_number":102,"context_line":"        # efficient, (rpc_amqp.unpack_context already log the context)"},{"line_number":103,"context_line":"        #LOG.debug(\u0027received: %s\u0027,"},{"line_number":104,"context_line":"        #          strutils.mask_password(six.u(dict(message))))"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        unique_id \u003d self.msg_id_cache.check_duplicate_message(message)"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_838590ae","line":104,"updated":"2015-01-07 17:03:10.000000000","message":"Same comment","commit_id":"8948ea1f8a4dc4342bfd2a5c54a364b8a0d1b26f"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b6c06cfd50cfdb1b434c0d06b705f060e1cc41d8","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        # FIXME(sileht): Don\u0027t log the message until strutils is more"},{"line_number":102,"context_line":"        # efficient, (rpc_amqp.unpack_context already log the context)"},{"line_number":103,"context_line":"        #LOG.debug(\u0027received: %s\u0027,"},{"line_number":104,"context_line":"        #          strutils.mask_password(six.u(dict(message))))"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        unique_id \u003d self.msg_id_cache.check_duplicate_message(message)"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_635fc441","line":104,"in_reply_to":"3a961159_838590ae","updated":"2015-01-07 17:06:00.000000000","message":"Done","commit_id":"8948ea1f8a4dc4342bfd2a5c54a364b8a0d1b26f"}],"oslo/messaging/_drivers/common.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"57da6b7ec4e10251d34c8c40ad8e91d471ea3709","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        raise NotImplementedError()"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"def _safe_log(log_func, msg, msg_data):"},{"line_number":165,"context_line":"    \"\"\"Sanitizes the msg_data field before logging.\"\"\""},{"line_number":166,"context_line":"    return log_func(msg, strutils.mask_password(six.text_type(msg_data)))"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_c34158a7","side":"PARENT","line":164,"updated":"2015-01-07 16:58:10.000000000","message":"Should we keep the function since we know we\u0027re going to try to improve it? Or did you intend to make those improvements in a completely different way?","commit_id":"84f18e8167a0532eacc33954f6b6517fca582a19"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b6c06cfd50cfdb1b434c0d06b705f060e1cc41d8","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        raise NotImplementedError()"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"def _safe_log(log_func, msg, msg_data):"},{"line_number":165,"context_line":"    \"\"\"Sanitizes the msg_data field before logging.\"\"\""},{"line_number":166,"context_line":"    return log_func(msg, strutils.mask_password(six.text_type(msg_data)))"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_6378a4c4","side":"PARENT","line":164,"in_reply_to":"3a961159_c34158a7","updated":"2015-01-07 17:06:00.000000000","message":"I have removed this code because it\u0027s called only in two place with a different purpose (one time to log a oslo.message context and the other to log the whole message from rabbit).\n\nAnd the improvement need to be done only in one of them, I have added a TODO in amqpdriver.py to track that.","commit_id":"84f18e8167a0532eacc33954f6b6517fca582a19"}]}
