taskforcesh / bullmq

BullMQ - Message Queue and Batch processing for NodeJS and Python based on Redis
https://bullmq.io
MIT License
6.01k stars 388 forks source link

[Bug]: v5.10.0 introducing "ReplyError: CROSSSLOT Keys in request don't hash to the same slot" #2660

Closed arsonik closed 2 months ago

arsonik commented 2 months ago

Version

3.10.0

Platform

NodeJS

What happened?

A bug happened after upgrading to v5.10.0 I get a "ReplyError: CROSSSLOT Keys in request don't hash to the same slot" When using BullMQ against a redis cluster server configured with a '{my_prefix}' prefix !

How to reproduce.

No response

Relevant log output

ReplyError: CROSSSLOT Keys in request don't hash to the same slot
    at parseError (xxx/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (xxx/node_modules/.pnpm/redis-parser@3.0.0/node_modules/redis-parser/lib/parser.js:302:14)

Code of Conduct

manast commented 2 months ago

Can you double-check check you are using the proper prefix? from which version where you upgrading?

manast commented 2 months ago

As a sidetone, all our test suite runs against using a custom prefix so that we can run DragonflyDBs tests, so it is unlikely we have introduced a regression in this regard.

arsonik commented 2 months ago

As a sidetone, all our test suite runs against using a custom prefix so that we can run DragonflyDBs tests, so it is unlikely we have introduced a regression in this regard.

are the tests running on a cluster with multiples nodes ?

and yes I've doubled checked, 5.9.0 works 5.10.0 doesn't

arsonik commented 2 months ago

based on the GitHub actions redis's image https://github.com/supercharge/redis-github-action it doesn't look like it's an actual cluster with multiple node! so all tests with {key} prefixes might be compromised ?