Skip to content

With active-active + cluster mode enabled often messages get processed twice #151

@Dbasdeo

Description

@Dbasdeo

We had originally implemented a scheduler using your library with Redis elasticache in AWS with cluster mode disabled. Every thing seemed to work out great. For context, our service in production that implements the scheduler runs 3 instances. The scheduled task was always dispatched to a single instance as expected.

We have now tried to switch to an enterprise version of redis with cluster mode enabled and an active-active database. By that I mean that we are running our service in two regions (x3 instances per region) both pointing to different redis databases (i.e. redis in region A and redis in region b) that are replicated in between.

What're application dependencies ?

  • Rqueue Version: 2.8.0-RELEASE
  • Spring Boot Version: 2.4.4
  • Spring Data Redis Version: 2.4.6

How to Reproduce (optional)?

  • This happens maybe 1 in every 10 times we schedule a job. *

We aren't running under any load as we currently only really run smoke tests. We schedule a job with a wait of x seconds. x seconds later the job is consumed and executed by two instances. The instances are always in different regions. I'm guessing library was just never built to handle this case?

Metadata

Metadata

Assignees

Labels

limitationThis is a system limitation

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions