{"push_id":610383167,"size":1,"distinct_size":1,"ref":"refs/heads/1.5","head":"c0efaa7bd94f36c3cc9bda56eb01391fdd9f75bf","before":"851d2ebcd696d79a45411f95087522768e897b25","commits":[{"sha":"c0efaa7bd94f36c3cc9bda56eb01391fdd9f75bf","author":{"email":"992531bec19101e9308e69893b3169c39fdfdd41@gmail.com","name":"Boaz Leskes"},"message":"Transport: fix racing condition in timeout handling\n\nIf a request comes in at the same moment the timeout handler for it runs, we may leak a timeoutInfoHolder and erroneously log \"Transport response handler not found of id\" . The same issue could cause the request tracer to fire a traceUnresolvedResponse call instead of traceReceivedResponse , causing a failure of testTracerLog ( see #10187 ) .\n\nThis commit makes sure timeoutInfoHolder is visible before removing the corresponding RequestHolder. It also unifies the TransportService.Adapter#remove(requestId) with TransportService.Adapter#onResponseReceived(requestId), as they are always called together to indicate a response was received.\n\nCloses #10187\nCloses #10220","distinct":true,"url":"https://api.github.com/repos/elastic/elasticsearch/commits/c0efaa7bd94f36c3cc9bda56eb01391fdd9f75bf"}]}