-
Notifications
You must be signed in to change notification settings - Fork 446
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
Migrate to official node-redis #2490
Comments
Yeah, this is a quite a sad situation, it almost seems like Redislabs is being run by a chicken without head... most frustrating is the lack of communication with the community, leaving everybody wondering what is going on. But from BullMQ's point of view, there is not a single issue with IORedis that we are aware of, and would such an issue arise we will fork IORedis and fix it for us. The only feature that would be relevant in terms of performance would be to have support for RESPv3 but neither IORedis nor node-redis supports it. The APIs of IORedis and node-redis are different enough to make the work of supporting node-redis non-trivial, and there is no guarantee it will be better maintained either, in fact the number of commits seems to be quite low too... If somebody really wants to use node-redis, one possibility would be to create a wrapper on top of node-redis that implements the IORedis specific APIs that are used by BullMQ... but I do not think this is worthy right now. |
Btw, it could be that some security advisory arises in IORedis that forces us to fork it even though there are no other issues, but lets give Redislabs a chance to make things right. |
What about moving to keydb or dragonfly? Both are decent drop-in replacements for redis and both open source. |
Dragonfly is supported, as it is 100% compatible with Redis (https://bullmq.io/news/101023/dragonfly-compatibility/). KeyDB did not properly work with BullMQ last time I tested and probably does still not work but I am not sure. In any case this discussion is about the NodeJS client library and less about the change in Redis license. I do not think the new Redis license affects regular users, but instead hosting providers which will now need to get a commercial license agreement from Redis in order to provide the newer versions. If I have to guess, these changes will just encourage new forks and competition to fill the need for a robust in-memory database, so not bad news for current Redis users in the long run. |
It's not well supported either 😞 |
@ivan-kleshnin yes, thats why I am more confident to continue using just IORedis, as over the years @luin has fixed the issues that affected BullMQ and AFAIK there are no known issues that affect us... just keeping IORedis up-to-date regarding security updates should not be a big effort, but obviously some maintainer must merge the PRs and make the releases otherwise nothing will happen. |
That's true, but there are plenty of bugs in ioredis that don't directly affect BullMQ. If a job uses Redis for something else (like geodist calculations), it likely needs to load two redis clients. That's a waste of developer time, CPU time, and CO2. |
I doubt that the official redis client will address any issues related to one of the redis forks |
Ups I totally missed that ioredis is also part of the redis org. |
FYI @manast , the valkey guys already forked ioredis and call it iovalkey now. (AFAIK valkey this is now the Redis fork with the biggest budget, since a number of big companies are backing it.) |
As long as IORedis works reliably for us, I do not see any benefit in using any other client... it will just introduce more risk and more likely new issues until all edge cases are ironed out. |
^This one is busted :/, reason enough to switch? |
@sirrodgepodge the thing is, how do we know node-redis does not have other issues that would impact us? so if we do all the migration work (which is not completely trivial), and then we discover other break-dealer issues, what then? |
@sirrodgepodge, seems like the issue you linked is "ElastiCache Serverless" specific, since people using |
Instead of creating yet another fork, perhaps you could consider adopting and contributing to the |
Hi, |
@avifenesh hello! |
@manast Hi :) In general, I actually offer as non-generic backend :) But - Anyway, in both cases, I will be happy to help. Can take some tasks and collaborate. Our users are our priority, and it's enough for us that one of them open an issue, and I believe that there's more that it is important for them :) |
ah, and we have a python client as well :) |
Is your feature request related to a problem? Please describe.
ioredis is being non-actively maintained for a while, it seems will be deprecated soon.
redis/node-redis#2658 (comment)
Describe the solution you'd like
Migrate to https://github.com/redis/node-redis
Describe alternatives you've considered
n/a
Additional context
n/a
The text was updated successfully, but these errors were encountered: