-
-
Notifications
You must be signed in to change notification settings - Fork 7.2k
[Dependashlee] Update to Puma 6.1.0 #23795
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
Conversation
@Gargron @ClearlyClaire I have tested with on my dev instance without issue (for me with my limited knowledge). I'm going to continue to test this, but I don't think any of the breaking changes affect Mastodon. |
We should investigate the effects of
We do use |
@ClearlyClaire the threads part looks fine... can't speak to capybara with WEB_CONCURRENCY=6 and MAX_THREADS=10 6.1.0
5.6.5
|
FYI, This PR has been running fine on dev.mastodon.au for a few days with zero issues that I've noticed, and no unexpected errors in syslog. |
I'll leave this to the devs.. but this looks good |
Rolled all of vmst.io up and no issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Confirm approve
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have verified the MIN_THREADS
and MAX_THREADS
settings work as expected. In addition, I have verified we don't use the capybara
gem in a way that breaks.
LGTM
Note: puma supports websockets now.
https://github.com/puma/puma/releases/tag/v6.0.0
https://github.com/puma/puma/releases/tag/v6.0.1
https://github.com/puma/puma/releases/tag/v6.0.2
https://github.com/puma/puma/releases/tag/v6.1.0
5.0 to 6.0 Migration notes
Check the following list to see if you're depending on any of these behaviors:
Configuration constants like DefaultRackup removed, see #2928 for the full list.
We've removed the following public methods on Puma::Server: Puma::Server#min_threads, Puma::Server#max_threads. Instead, you can pass in configuration as an option to Puma::Server#new. This might make certain gems break (capybara for example).
We have changed the names of the following environment variables: DISABLE_SSL is now PUMA_DISABLE_SSL, MAKE_WARNINGS_INTO_ERRORS is now PUMA_MAKE_WARNINGS_INTO_ERRORS, and WAIT_FOR_LESS_BUSY_WORKERS is now PUMA_WAIT_FOR_LESS_BUSY_WORKERS.
Nakayoshi GC (nakayoshi_fork option in config) has been removed without replacement.
wait_for_less_busy_worker is now on by default. If you don't want to use this feature, you must add wait_for_less_busy_worker false in your config.
We've removed the following constants: Puma::StateFile::FIELDS, Puma::CLI::KEYS_NOT_TO_PERSIST_IN_STATE and Puma::Launcher::KEYS_NOT_TO_PERSIST_IN_STATE, and Puma::ControlCLI::COMMANDS.
We no longer support Ruby 2.2, 2.3, or JRuby on Java 1.7 or below.
The behavior of remote_addr has changed. When using the set_remote_address header: "header_name" functionality, if the header is not passed, REMOTE_ADDR is now set to the physical peeraddr instead of always being set to 127.0.0.1. When an error occurs preventing the physical peeraddr from being fetched, REMOTE_ADDR is now set to the unspecified source address ('0.0.0.0') instead of to '127.0.0.1'
Previously, Puma supported anything as an HTTP method and passed it to the app. We now only accept the 8 HTTP methods defined in RFC 9110.