Fix clear_active_connections! with no argument deprecation warning#217
Merged
splittingred merged 1 commit intobigcommerce:mainfrom Feb 3, 2026
Merged
Conversation
54331d3 to
7875c50
Compare
Contributor
Author
|
Sorry I just saw #211 but I think this PR is better because specs are passing and doesn't break backwards compatibility. |
7875c50 to
53ba018
Compare
We're using gruf v2.20.1, and still experience the deprecation warning for `clear_active_connections!`. ``` DEPRECATION WARNING: `clear_active_connections!` currently only applies to connection pools in the current role (`reading`). In Rails 7.2, this method will apply to all known pools, regardless of role. To affect only those connections belonging to a specific role, pass the role name as an argument. To switch to the new behavior, pass `:all` as the role name. (called from block in call at gruf/lib/gruf/interceptors/active_record/connection_reset.rb:32)> ``` This is caused by rails/rails#45924. ~~If you're still supporting Rails < 7.1, then we should change this to use `ActiveRecord::Base.current_role`, but I thought your goal was to clear any and all active connections -- please correct me if I'm wrong.~~ EDIT: I think supporting Rails 7.0 is a good idea, but I think you lose the ability to clear those connections in the other pools. Due to Gruf::Controllers::Base rewriting the error message, actually the backtrace location was confusing. Maybe `fail!` could be fixed to include it in the message, but that is beyond the scope of this PR.
53ba018 to
11de87d
Compare
Contributor
Author
|
@splittingred Sorry for the ping, would you mind taking a look at this when you have time? The linter was failing so I just rebased and fixed that a few days ago. |
splittingred
approved these changes
Feb 2, 2026
Member
splittingred
left a comment
There was a problem hiding this comment.
You're right, this is a cleaner approach. Thanks for doing this!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
We're using gruf v2.20.1, and still experience the deprecation warning for
clear_active_connections!.This is caused by rails/rails#45924.
If you're still supporting Rails < 7.1, then we should change this to useActiveRecord::Base.current_role, but I thought your goal was to clear any and all active connections -- please correct me if I'm wrong.EDIT: I think supporting Rails 7.0 is a good idea, but I think you lose the ability to clear those connections in the other pools.
Due to Gruf::Controllers::Base rewriting the error message, actually the backtrace location was confusing.
Maybe
fail!could be fixed to include it in the message, but that is beyond the scope of this PR.Similar to #208 but for a separate deprecation warning when using multiple roles.