cluster.rb - remove worker #dead?, #dead!, @dead #1927
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While working on PR #1908, I added a Worker method
#term?
to indicate whetherWorker#term
had been called. Also, previous code that rejected workers from the@workers
array wheredead?
was true was removed.At the time, I wondered what
dead
's purpose was. It was also bothersome that workers contain threads, andalive?
is a thread method, and most would considerdead
to be the inverse. Also, it's confusing, especially since code and comments inthread_pool.rb
refer todead_workers
...Upon reviewing the code, I cannot see anywhere where the state of
Worker#dead?
or@dead
is used. It is set here on line 510:puma/lib/puma/cluster.rb
Lines 503 to 512 in 9fb1228
This PR changes line 510 to 'w.term' and removes the two 'dead' methods. If this seems improper, the PR could be changed to call
#term
inCluster#check_workers
for any dead workers...EDIT: This may also help intermittent test_integration.rb failures in macOS builds on Travis, which I've seen in my fork, as I can't test cluster locally..