)]}'
{"swift/proxy/controllers/obj.py":[{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"c61e9ab0bd19e33b31efbd2231ed6c40551bab3e","unresolved":false,"context_lines":[{"line_number":2274,"context_line":"                resp \u003d err_resp"},{"line_number":2275,"context_line":"        else:"},{"line_number":2276,"context_line":"            for _getter, parts_iter in best_bucket.get_responses():"},{"line_number":2277,"context_line":"                parts_iter.close()"},{"line_number":2278,"context_line":""},{"line_number":2279,"context_line":"            # TODO: we can get here if all buckets are successful but none"},{"line_number":2280,"context_line":"            # have ec_ndata getters, so bad_bucket may have no gets and we will"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_995732c9","line":2277,"updated":"2017-03-06 04:32:42.000000000","message":"This particular change only affects a GET.  I notice that the associated bug specifies the issue for a PUT.  Have you also seen unproperly closed sockets from a GET?  The \u0027putters\u0027 aren\u0027t used for a GET, so that would be a very different case to look at.  I imagine since this has only been observed in a production cluster, that it may be difficult to know what request types are leading to the CLOSE_WAIT state sockets.","commit_id":"bd22c24110de6ff4aa3402d94a06b99cc17c9591"},{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"c61e9ab0bd19e33b31efbd2231ed6c40551bab3e","unresolved":false,"context_lines":[{"line_number":2386,"context_line":"            backend_chunks \u003d chunk_transform.send(chunk)"},{"line_number":2387,"context_line":"            if backend_chunks is None:"},{"line_number":2388,"context_line":"                # If there\u0027s not enough bytes buffered for erasure-encoding"},{"line_number":2389,"context_line":"                # or whatever we\u0027re doing, the transform will give us None."},{"line_number":2390,"context_line":"                return"},{"line_number":2391,"context_line":""},{"line_number":2392,"context_line":"            for putter in list(putters):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_cba9c525","line":2389,"updated":"2017-03-06 04:32:42.000000000","message":"Could you try running with only this change (not the putter.wait calls):\nAdd the following inside of this \u0027if backend_chunks is None\u0027 case at line 2390:\n\n                for putter in list(putters):\n                    if putter.failed:\n                        putter.close()\n                        putters.remove(putter)","commit_id":"bd22c24110de6ff4aa3402d94a06b99cc17c9591"}]}
