Skip to content

Conversation

@choznerol
Copy link

@choznerol choznerol commented Dec 23, 2025

Proposed Solution A for #744

Breaking change?

I didn't find any Rpush::Client::Redis::Notification.all usage in rpush.

and tests passed

I passed 563 tests locally with Rails 7.2 and Redis. (CLIENT=redis bundle exec appraisal rails-7.2 rspec)
image

but it would be more accurate if you could approve the CI run 🙏

If it's truly unused, it might be a good idea to just avoid maintaining rpush:notifications:all at all.

However, it's possible that RPush user is using Rpush::Client::Redis::Notification.all from some reason. According to medis doc, they would start getting IndexError. This might be considered a breaking change?

Local testing result

For some reason, I COULDN'T really get rid of rpush:notificaions:all locally

I added some debug and sleep in test to inspect all_index_enabled? == false,
image

But Modis still work with rpush:notifications:all for some reason.

image

I've double checked the doc and implementation but don't have an clue yet 🤔.

If this truly won't work, maybe Proposed Solution B or C from #744 is better.

rpush#525 (comment) mentioned that `rpush:notifications:all` wouldn't be cleaned up properly.

In our case, the `rpush:notifications:all` can keep growing to eat up most of our Redis storage (3.7GB out of 5GB in our case)

If we're not using `Rpush::Client::Redis::Notification.all` anywhere, it might be a good idea to just avoid storing `rpush:notifications:all` at all.

Ref for `enable_all_index`:
- https://github.com/rpush/modis?tab=readme-ov-file#all-index
- rpush/modis#7
@choznerol choznerol marked this pull request as ready for review December 24, 2025 02:50
@choznerol choznerol changed the title Stop using Modis rpush:notifications:all to avoid storage leak Stop using Modis index rpush:notifications:all to avoid storage leak Dec 24, 2025
@choznerol choznerol marked this pull request as draft December 24, 2025 09:26
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.

1 participant