Details
-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
7.1.3
-
None
-
Untriaged
-
0
-
Unknown
Description
For operations with an ewouldblock phase, once notified that background work had completed, the cookie will be executed by processNotifiedCookie. If Cookie::execute() throws an exception, the cookie is left in a valid state, and is not ewouldblock-ed. As a result, that operation will be re-executed by Connection::processAllReadyCookies.
If the operation throws again, this can lead to a cycle which will not end until either the cause of the exception is removed, or the connection is closed.
For Stats operations, some responses may be written before the exception is reached. In that case, clients may buffer a significant amount of data waiting for the request to complete.