)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"fbf98ff679136d7e74c52adc561f69251aff6297","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This removes entirely our usage of eventlet and its ugly monkey-patching"},{"line_number":10,"context_line":"in favor of a threaded approach."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: remove-eventlet"},{"line_number":13,"context_line":"Change-Id: Ib5f623e2d1ff9e9254601ad091bf5b53ab32000d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"ba8a016a_b863bd19","line":12,"updated":"2015-11-23 17:42:55.000000000","message":"might be useful to add \"blueprint\" here so we can link to it.","commit_id":"e70af58a5fcd4cb8373f3187518b1e202f559f06"}],"ceilometer/compute/virt/xenapi/inspector.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"e98bb8744866d41e33f92fdc7810d30cbb86bd9d","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    try:"},{"line_number":63,"context_line":"        session \u003d (api.xapi_local() if url \u003d\u003d \u0027unix://local\u0027"},{"line_number":64,"context_line":"                   else api.Session(url))"},{"line_number":65,"context_line":"        session.login_with_password(username, password)"},{"line_number":66,"context_line":"    except api.Failure as e:"},{"line_number":67,"context_line":"        msg \u003d _(\"Could not connect to XenAPI: %s\") % e.details[0]"},{"line_number":68,"context_line":"        raise XenapiException(msg)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa80f949_e33463df","line":65,"updated":"2015-11-04 13:02:43.000000000","message":"Can this block forever now?","commit_id":"bff522c79d8fe66614826a4d0fae94f6bd4f50cb"}],"ceilometer/publisher/messaging.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"e98bb8744866d41e33f92fdc7810d30cbb86bd9d","unresolved":false,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def flush(self):"},{"line_number":141,"context_line":"        # NOTE(sileht):"},{"line_number":142,"context_line":"        # IO of the rpc stuff in handled by eventlet,"},{"line_number":143,"context_line":"        # this is why the self.local_queue, is emptied before processing the"},{"line_number":144,"context_line":"        # queue and the remaining messages in the queue are added to"},{"line_number":145,"context_line":"        # self.local_queue after in case of a other call have already added"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa80f949_23deeb6d","side":"PARENT","line":142,"updated":"2015-11-04 13:02:43.000000000","message":"Worth doing s/eventlet/threading/ instead? Otherwise the comment feels like it is missing context? I assume it is still true?","commit_id":"eed04fe12977f9bef901ac5ae9d48cc0608355ac"}]}
