https://bz.apache.org/bugzilla/show_bug.cgi?id=57921
--- Comment #7 from Rainer Jung <[email protected]> --- (In reply to Philippe Mouawad from comment #4) > Maybe we should change retry defaults: > - https://bugzilla.mozilla.org/show_bug.cgi?id=92224 That is about a special situation for requests including a request body. The problem here is about a request (with or without body) that tried to use a stale connection. Stale in the sense that the HTTP keepa-live timeout was reached or almost reached. It is also not about general retries. It would be good, if we could fix the keep-alive timeout issue. To me it seems that HTTPClient should handle keep alives itself well. After the keep alive timeout happened, it should not resuse a connection. There's a DefaultConnectionKeepAliveStrategy that supports that. Maybe we have to activate it or so. But there's always a small chance for a race condition (timeout not yet over when sending data but timeout reached before data arrives at server), it might be best to not reuse a keep alive connection if at the moment we want to use it the keep alive timeout is nearly over. It seems that HTTPClient allows to define a ConnectionKeepAliveStrategy which can be derived from DefaultConnectionKeepAliveStrategy and would set the keep alive timeout e.g. to the one determined by DefaultConnectionKeepAliveStrategy from the server header minus e.g. 200 ms (configurable). Not perfect but should reduce those race conditions a lot. I think we first have to find out whether and why the general keep alive case is broken and then can tackle the rare race condition. -- You are receiving this mail because: You are the assignee for the bug.
