-
Notifications
You must be signed in to change notification settings - Fork 393
Add VCL_Shutdown to wait for VCL references to vanish #4078
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
A lot of tests on CCI are timing out, which is interesting because I did not see this locally. |
bugwash
|
This looks somewhat "trivial". Is there anything blocking this change/feature? |
When I last worked in this feature, the CCI checks were timing out, so I suspected that something might be fundamentally wrong. I am re-checking now and have rebased to begin with. |
Ah, ok. Thanks! |
Before shutting down stevedores, we should wait for VCL references to go away to, indirectly, ensure that all worker threads potentially using storage functions are done. See https://gitlab.com/uplex/varnish/slash/-/issues/61
Found the trivial mistake, fixed in 44bb699, subsequently squashed |
VCL references to vanish
A panic with SLASH/fellow exposed a problem in Varnish-Cache: We shut down stevedores unconditionally, no matter if still used or not. While an argument could be made that stevedores should wait for all object references to be returned before actually shutting down (which SLASH/fellow does, but limited to a fixed number of retries), this would not have helped in this particular case, because a
.free_space
variable was queried which, by definition, requires no reference on stevedore objects whatsoever.So this PR adds
VCL_Shutdown()
to wait for all VCL references to vanish before closing stevedores.