Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix a lock contention in Signaller controller (#69)
The lock contention was observed under a relatively high amount of PURGE requests, that Signaller propagates among instances in a Varnish cluster, and changes in endpoints of a K8s service for Varnish; The Signaller controller locks the "Signaller" structure when it tries to get/update one of the fields (endpoints) in that structure. This commit reduces the time when the "Signaller" structure is locked by copying the current set of endpoints instead of locking the structure while the controller sends PURGE requests. Co-authored-by: mqmr <me@mqmr.com> Co-authored-by: Martin Helmich <m.helmich@mittwald.de>
- Loading branch information