Fix uninitialized constant error on Puma boot #49325
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.
Motivation / Background
This Pull Request has been created to fix #49323: Puma fails to boot in production with default config due to missing
Concurrency
constant (Rails 7.1.0.beta1)Detail
Before, using the default
puma/config.rb
generated byrails new
, Puma would fail to boot in production with this error:This was because
Concurrent.physical_processor_count
was being referenced before theConcurrent
constant was initialized.Fix by requiring
concurrent-ruby
just before theConcurrent
constant is needed.Fixes #49323
Checklist
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
Tests are added or updated if you fix a bug or add a feature.The original PR that introducedConcurrent.physical_processor_count
did not have any tests