~squid/squid/3.5

Viewing all changes in revision 14179.

  • Committer: Amos Jeffries
  • Author(s): Alex Rousskov
  • Date: 2017-07-01 09:59:16 UTC
  • Revision ID: squid3@treenet.co.nz-20170701095916-wknqmneq2w0mxt6a
Fix mgr query handoff from the original recipient to Coordinator.

This bug has already been fixed once, in trunk r11164.1.61, but that fix
was accidentally undone shortly after, during significant cross-branch
merging activity combined with the Forwarder class split. The final
merge importing the associated code (trunk r11730) was buggy.

The bug (explained in r11164.1.61) leads to a race condition between

* Store notifying Server classes about the entry completion (which might
  trigger a bogus error message sent to the cache manager client while
  Coordinator sends its own valid response on the same connection!) and

* post-cleanup() connection closure handlers of Server classes silently
  closing everything (and leaving Coordinator the only responding
  process on that shared connection).

The bug probably was not noticed for so long because, evidently, the
latter actions tend to win in the current code.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: