)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ebcf5a31d1eb831b626c5a22f6c672b557d2d7db","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add (de)serialize_msg_as_bytes()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some message buses handles string / bytearray as a message, so their"},{"line_number":10,"context_line":"drivers have to make a structured message into them. serialize_msg()"},{"line_number":11,"context_line":"should return dumped JSON string containing envelope metadata and"},{"line_number":12,"context_line":"deserialize_msg() should decode it, but they don\u0027t. And also, it\u0027s"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3fa7e38b_ecd24a5c","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":17},"updated":"2019-09-23 14:03:03.000000000","message":"For example? I\u0027m nervous about adding this without an actual user for same","commit_id":"2fb1704831c4ffe0c5ff457ad989876b9a99dd09"},{"author":{"_account_id":659,"name":"Akira Yoshiyama","email":"akirayoshiyama@gmail.com","username":"yosshy"},"change_message_id":"d5249c28a63055d4af632b81eb530a828d4af159","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add (de)serialize_msg_as_bytes()"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Some message buses handles string / bytearray as a message, so their"},{"line_number":10,"context_line":"drivers have to make a structured message into them. serialize_msg()"},{"line_number":11,"context_line":"should return dumped JSON string containing envelope metadata and"},{"line_number":12,"context_line":"deserialize_msg() should decode it, but they don\u0027t. And also, it\u0027s"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"3fa7e38b_6a4f2f92","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":17},"in_reply_to":"3fa7e38b_ecd24a5c","updated":"2019-10-08 08:00:15.000000000","message":"I have examples:\n- MQTT message brokers like Mosquitto, ActiveMQ and so on.\n- NATS message brokers like gnats and the original NATS.\n\nSo, it looks better to describe:\n\"Some message bus protocols like MTQQ and NATS uses bytearray as a message payload.\"","commit_id":"2fb1704831c4ffe0c5ff457ad989876b9a99dd09"}],"oslo_messaging/_drivers/common.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ebcf5a31d1eb831b626c5a22f6c672b557d2d7db","unresolved":false,"context_lines":[{"line_number":359,"context_line":"    except ValueError:"},{"line_number":360,"context_line":"        pass"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"    if not isinstance(msg, dict):"},{"line_number":363,"context_line":"        return msg"},{"line_number":364,"context_line":"    LOG.debug(\"deserialize_msg_as_bytes:msg\u003d%s\", msg)"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"    base_envelope_keys \u003d (_VERSION_KEY, _MESSAGE_KEY)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_6cc65a9d","line":363,"range":{"start_line":362,"start_character":0,"end_line":363,"end_character":18},"updated":"2019-09-23 14:03:03.000000000","message":"Shouldn\u0027t this be an error?","commit_id":"2fb1704831c4ffe0c5ff457ad989876b9a99dd09"},{"author":{"_account_id":659,"name":"Akira Yoshiyama","email":"akirayoshiyama@gmail.com","username":"yosshy"},"change_message_id":"d5249c28a63055d4af632b81eb530a828d4af159","unresolved":false,"context_lines":[{"line_number":359,"context_line":"    except ValueError:"},{"line_number":360,"context_line":"        pass"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"    if not isinstance(msg, dict):"},{"line_number":363,"context_line":"        return msg"},{"line_number":364,"context_line":"    LOG.debug(\"deserialize_msg_as_bytes:msg\u003d%s\", msg)"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"    base_envelope_keys \u003d (_VERSION_KEY, _MESSAGE_KEY)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_0a3b1beb","line":363,"range":{"start_line":362,"start_character":0,"end_line":363,"end_character":18},"in_reply_to":"3fa7e38b_6cc65a9d","updated":"2019-10-08 08:00:15.000000000","message":"Yes, it should. They have no old message format.","commit_id":"2fb1704831c4ffe0c5ff457ad989876b9a99dd09"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ebcf5a31d1eb831b626c5a22f6c672b557d2d7db","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        return msg"},{"line_number":364,"context_line":"    LOG.debug(\"deserialize_msg_as_bytes:msg\u003d%s\", msg)"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"    base_envelope_keys \u003d (_VERSION_KEY, _MESSAGE_KEY)"},{"line_number":367,"context_line":"    if not all(map(lambda key: key in msg, base_envelope_keys)):"},{"line_number":368,"context_line":"        return msg"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    if not utils.version_is_compatible("},{"line_number":371,"context_line":"        _RPC_ENVELOPE_VERSION, msg[_VERSION_KEY]"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_6c4bba2a","line":368,"range":{"start_line":366,"start_character":0,"end_line":368,"end_character":18},"updated":"2019-09-23 14:03:03.000000000","message":"ditto. Also, this could be simpler:\n\n  if not sorted(msg) !\u003d [_MESSAGE_KEY, _VERSION_KEY]:\n      # error","commit_id":"2fb1704831c4ffe0c5ff457ad989876b9a99dd09"},{"author":{"_account_id":659,"name":"Akira Yoshiyama","email":"akirayoshiyama@gmail.com","username":"yosshy"},"change_message_id":"d5249c28a63055d4af632b81eb530a828d4af159","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        return msg"},{"line_number":364,"context_line":"    LOG.debug(\"deserialize_msg_as_bytes:msg\u003d%s\", msg)"},{"line_number":365,"context_line":""},{"line_number":366,"context_line":"    base_envelope_keys \u003d (_VERSION_KEY, _MESSAGE_KEY)"},{"line_number":367,"context_line":"    if not all(map(lambda key: key in msg, base_envelope_keys)):"},{"line_number":368,"context_line":"        return msg"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    if not utils.version_is_compatible("},{"line_number":371,"context_line":"        _RPC_ENVELOPE_VERSION, msg[_VERSION_KEY]"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_ca0d033f","line":368,"range":{"start_line":366,"start_character":0,"end_line":368,"end_character":18},"in_reply_to":"3fa7e38b_6c4bba2a","updated":"2019-10-08 08:00:15.000000000","message":"ditto.","commit_id":"2fb1704831c4ffe0c5ff457ad989876b9a99dd09"}]}
