[dovecot/core] aa881f: lib-http: client: Respect the connection idle time...
GitHub
noreply at github.com
Thu Feb 2 17:30:11 UTC 2017
Branch: refs/heads/master
Home: https://github.com/dovecot/core
Commit: aa881f8f1465b2a8920c884e24b1b9a31a2a3666
https://github.com/dovecot/core/commit/aa881f8f1465b2a8920c884e24b1b9a31a2a3666
Author: Stephan Bosch <stephan.bosch at dovecot.fi>
Date: 2017-02-02 (Thu, 02 Feb 2017)
Changed paths:
M src/lib-http/http-client-peer.c
Log Message:
-----------
lib-http: client: Respect the connection idle timeout, even when all queues have unlinked from a peer.
Otherwise, the DNS TTL timeout dictates the connection idle timeout in some situations.
Commit: b3df4be577af79d93f39e099e5e0b226ab7fd775
https://github.com/dovecot/core/commit/b3df4be577af79d93f39e099e5e0b226ab7fd775
Author: Stephan Bosch <stephan.bosch at dovecot.fi>
Date: 2017-02-02 (Thu, 02 Feb 2017)
Changed paths:
M src/lib-http/http-client-queue.c
M src/lib-http/test-http-client-errors.c
Log Message:
-----------
lib-http: client: Fixed peer reconnection failure handling.
The addressed problem occurs in a very specific situation in which the original successful connection is dropped, yet a new connection fails.
It manifests as an assertion failure or panic:
Panic: file ioloop-epoll.c: line 189 (io_loop_handler_run_internal): assertion failed: (msecs >= 0)
Panic: BUG: No IOs or timeouts set. Not waiting for infinity.
The timing is very critical. However, this doesn't mean that the occurrence of this problem is very unlikely; it can happen frequently under high load.
Compare: https://github.com/dovecot/core/compare/18c01c257324...b3df4be577af
More information about the dovecot-cvs
mailing list