Skip to content

Conversation

@santib
Copy link
Collaborator

@santib santib commented Dec 26, 2025

CI started failing since connection_pool 3 was released https://github.com/rack/rack-attack/actions/runs/20482828723

It's an indirect dependency, but our dependencies weren't prepared for these breaking changes on connection_pool

@santib santib requested a review from grzuy December 26, 2025 13:09
@grzuy grzuy changed the title Fix CI: connection_pool version ci: connection_pool version Dec 27, 2025
Copy link
Collaborator

@grzuy grzuy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch 💯

@grzuy grzuy changed the title ci: connection_pool version ci: test against a compatible connection_pool version Dec 27, 2025
@santib santib force-pushed the fix-ci-connection-pool branch 3 times, most recently from b8d489f to b9cfa6a Compare December 29, 2025 17:22
@santib santib force-pushed the fix-ci-connection-pool branch from b9cfa6a to 217c129 Compare December 29, 2025 17:33
Appraisals Outdated
appraise "redis_store" do
# Direct version requirement on connection_pool
# can be removed once https://github.com/rails/rails#56291 is fixed and released
gem "connection_pool", "~> 2.5"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

redis_4, redis_5, and redis_store gemfiles need it but it isn't because of redis, it's because of activesupport being installed as a dev dependency which seems unfortunate, but when trying to remove it lot of tests failed so I think we can work on that separately if we ever want to cc @grzuy

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha.
And we can't solve it by listing connection_pool 2.5 as an additional dev dependency in the gemspec, because that would affect tests that try testing when connection_pool is not present, right?

Copy link
Collaborator Author

@santib santib Dec 29, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh I see.. I guess you are referring to this commit .. I guess that behavior got "ignored" since activesupport was added directly as a dev dependency on the gemspec, and therefore connection_pool available for all gemfiles.. 😅

At this point, since activesupport was added, the "pooled" versions of the gemfiles aren't adding any value since they are all "pooled", so I added a commit just cleaning up the spec gemfiles. Or do you think there is value in going back to testing "pooled" and "not pooled" versions, and we should go in the opposite direction removing activesupport dev dependency and such?

EDIT:

In summary I think we have many different options:

  1. Just add connection_pool on the Appraisals to get the CI green
  2. Add connection_pool in the gemspec given that activesupport is already there + remove duplicated gemfiles (pooled)
  3. Remove activesupport from the gemspec + Add connection_pool on the Appraisals

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants