)]}'
{"keystone/common/environment/eventlet_server.py":[{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"93357fb6602e873df33068854edee26c80b23fbb","unresolved":false,"context_lines":[{"line_number":34,"context_line":"class HttpProtocol(eventlet.wsgi.HttpProtocol):"},{"line_number":35,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":36,"context_line":"        super(HttpProtocol, self).__init__(*args, **kwargs)"},{"line_number":37,"context_line":"        self._keystone_logger \u003d log.getLogger(\u0027eventlet.wsgi.server\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def handle_one_request(self):"},{"line_number":40,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ae5cdf2_3a1c2d13","line":37,"updated":"2014-06-26 00:49:23.000000000","message":"Logging could be removed if we don\u0027t care. It might be useful to know in certain debug circumstances.","commit_id":"ac31249bd5336e5b15df09a1d6fec35d97b4bde7"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3cfa3355abe58b8560627c677fd900d9da5da687","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class HttpProtocol(eventlet.wsgi.HttpProtocol):"},{"line_number":35,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":36,"context_line":"        super(HttpProtocol, self).__init__(*args, **kwargs)"},{"line_number":37,"context_line":"        self._keystone_logger \u003d log.getLogger(\u0027eventlet.wsgi.server\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def handle_one_request(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_c09fdcb2","line":36,"updated":"2014-06-26 02:04:08.000000000","message":"I don\u0027t think this will work because it\u0027s an old-style class.","commit_id":"b9aae01a832a6c91ece7f64cd58b34089c74384c"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3cfa3355abe58b8560627c677fd900d9da5da687","unresolved":false,"context_lines":[{"line_number":34,"context_line":"class HttpProtocol(eventlet.wsgi.HttpProtocol):"},{"line_number":35,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":36,"context_line":"        super(HttpProtocol, self).__init__(*args, **kwargs)"},{"line_number":37,"context_line":"        self._keystone_logger \u003d log.getLogger(\u0027eventlet.wsgi.server\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def handle_one_request(self):"},{"line_number":40,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_a04c9077","line":37,"updated":"2014-06-26 02:04:08.000000000","message":"I\u0027d rather see this named _eventlet_logger, but wouldn\u0027t hold anything up because of it.\n\nI really like how you\u0027re still using the eventlet logger from here.","commit_id":"b9aae01a832a6c91ece7f64cd58b34089c74384c"},{"author":{"_account_id":9098,"name":"Nathan Kinder","email":"nkinder@redhat.com","username":"nkinder"},"change_message_id":"03d3407818840fecf31b94dbb3610e993640dee1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            # exception handler, it is possible to spam the logs with 14+"},{"line_number":45,"context_line":"            # lines of exception data per request if the client disconnects"},{"line_number":46,"context_line":"            # before Keystone can write data to the FD."},{"line_number":47,"context_line":"            if e[0] \u003d\u003d 32:"},{"line_number":48,"context_line":"                self._keystone_logger.debug(\u0027Broken Pipe: error writing to \u0027"},{"line_number":49,"context_line":"                                            \u0027socket.\u0027)"},{"line_number":50,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_85d32600","line":47,"updated":"2014-06-26 01:43:07.000000000","message":"Any reason you don\u0027t want to use errno.EPIPE instead of the raw integer?  It would be more readable.","commit_id":"b9aae01a832a6c91ece7f64cd58b34089c74384c"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3cfa3355abe58b8560627c677fd900d9da5da687","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            # exception handler, it is possible to spam the logs with 14+"},{"line_number":45,"context_line":"            # lines of exception data per request if the client disconnects"},{"line_number":46,"context_line":"            # before Keystone can write data to the FD."},{"line_number":47,"context_line":"            if e[0] \u003d\u003d 32:"},{"line_number":48,"context_line":"                self._keystone_logger.debug(\u0027Broken Pipe: error writing to \u0027"},{"line_number":49,"context_line":"                                            \u0027socket.\u0027)"},{"line_number":50,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_c02a7c7d","line":47,"in_reply_to":"1ae5cdf2_85d32600","updated":"2014-06-26 02:04:08.000000000","message":"++","commit_id":"b9aae01a832a6c91ece7f64cd58b34089c74384c"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"3cfa3355abe58b8560627c677fd900d9da5da687","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            # before Keystone can write data to the FD."},{"line_number":47,"context_line":"            if e[0] \u003d\u003d 32:"},{"line_number":48,"context_line":"                self._keystone_logger.debug(\u0027Broken Pipe: error writing to \u0027"},{"line_number":49,"context_line":"                                            \u0027socket.\u0027)"},{"line_number":50,"context_line":"            else:"},{"line_number":51,"context_line":"                raise"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1ae5cdf2_20dc0074","line":49,"updated":"2014-06-26 02:04:08.000000000","message":"What is the impact of not re-raising? If you re-raise the code to do the original logging will probably be invoked, which is not what we want, but this will make the calling code continue on like nothing has happened.\n\nI\u0027d have to look into it deeper, but it may be more correct to raise a different exception because I think the calling code will log any exception that happens. It\u0027s just the the EPIP (maybe others?) gets a stacktrace too.","commit_id":"b9aae01a832a6c91ece7f64cd58b34089c74384c"},{"author":{"_account_id":1091,"name":"Arun Kant","email":"arukant@cisco.com","username":"arunkant-uws"},"change_message_id":"a0aad78289cee73814f2b5de832fb71f7a8765e1","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                                (errno.EPIPE, errno.ECONNRESET), re.IGNORECASE)"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def write(self, msg):"},{"line_number":49,"context_line":"        m \u003d self.regex.search(msg)"},{"line_number":50,"context_line":"        if m:"},{"line_number":51,"context_line":"            self.logger.log(log.logging.DEBUG, \u0027Error(%s) writing to socket.\u0027,"},{"line_number":52,"context_line":"                            m.group(1))"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_4cc3f989","line":49,"updated":"2014-06-26 10:52:49.000000000","message":"nit: may avoid one lookup if this search is used too frequently\n\nsearch_regex \u003d re.compile(..).search\n...\n...\nm \u003d self.search_regex(msg)","commit_id":"2c389b9f389f1a8bb01ffad6489353bc9c23416b"}]}
