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
cluster.rb - rearrange SIGURG & fork_worker code, small test fix [changelog skip] #2449
Conversation
Not sure I agree, as now the process can respond to |
I think |
JFYI, SIGURG / refork is currently only available as a signal in control_cli. I've got additional code that adds a 'request' type command. It also adds two tests that run it with both command styles. |
I'm not sure this makes sense.
Issuing |
I may have misinterpreted the code. I thought Hence, it seemed that they could be 'decoupled'. One calls JFYI, at present, I can't use |
It's kinda confusing since the In retrospect, it would have been more clear if the Another idea that might be cool is if the automatically-refork-workers-after-a-number-of-requests feature was just implemented as a plugin. Of course if we did this now, it'd be a breaking change. |
I think it might make sense to revert this. As soon as a change like this lands in a release, it's difficult to remove since it'd be a breaking change for anyone that starts using SIGURG, but doesn't have |
Confused.
In 5.0.4, what does |
I think it would do nothing. But if the change proposed in this PR is merged, then it So if users start relying on that signal to do that, it'd be awkward to remove that functionality without a major version bump. |
I think I understand where I wasn't totally clear. My claim is not that this change introduces a breaking change. My claim is instead that reverting this change after it makes it into a release would be. |
idk. With this change, a user can perform a So, it seems that it should either stay as is with this PR, or |
Or, why is |
Ok I think we're on the same page as to what effect this PR has for users with
Technically, In short, I think enabling
Then there's no footgun. |
I guess at some point users have to RTFM. We've got two different signals for I think before this PR, if That's really what I think should be decoupled, the automatic behavior from |
I agree with @cjlarose, it doesn't make sense to allow users to restart all except one worker. Trying to debug the scenario quoted above doesn't sound fun. |
Given that 'Refork' for additional copy-on-write improvements in running applications. Fork-worker mode introduces a new refork command that re-loads all nonzero workers by re-forking them from worker 0. One item, which I can add, Re reverting this, I'm okay with it. I'll let @nateberkopec decide... |
A lot to read here, will come back to this soon. |
I think the best thing here is to revert. If we want SIGURG's behavior to be |
Description
fork_worker
andSIGURG
should be independent. Rearrange code for that. Small test fix.@wjordan - agree? I was working on some refactoring, wanted to add an 'http' based 'refork' command in ControlCLI, and noticed it...
Your checklist for this pull request
[changelog skip]
or[ci skip]
to the pull request title.[ci skip]
to the title of the PR.#issue
" to the PR description or my commit messages.