]> git.ipfire.org Git - thirdparty/squid.git/commit
Improved disker timeout handling.
authorAlex Rousskov <rousskov@measurement-factory.com>
Tue, 30 Aug 2011 03:39:39 +0000 (21:39 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Tue, 30 Aug 2011 03:39:39 +0000 (21:39 -0600)
commit0ef0509e3574f91c83c22b13496343ccf765564b
tree83b12f6edf72222d44291fdf00600f1d8e8bca16
parentfdb3059bfb1fbcbbe7d7df6ed5b15f773986b9c5
Improved disker timeout handling.

A disker timeout may happen because the disker is stuck doing an I/O or
because the worker has not received an "I/O results available" notification.
If there was no notification (e.g., because the disker got stuck before
completing UDS sending steps), it is still possible that the disker output
queue cointains completed I/Os. Try to process as many of those old queued
I/Os as possible before abandoning the rest of the I/O requests.

Reduce the number of "error: timeout" lines reported at level 1. When multiple
I/Os timeout, just report the fact of the timeout, not every timedout I/O.
Needs more work to report the actual timeout value for the longest-waiting
I/O.

Double check that we are not scheduling two timeout triggers, just in case.

Removed satisfied XXXs.
src/DiskIO/IpcIo/IpcIoFile.cc