Skip to content
This repository has been archived by the owner on Dec 13, 2023. It is now read-only.

[FEATURE]: Enabling distributed locking in Dynomite #3450

Closed
charybr opened this issue Jan 17, 2023 · 6 comments
Closed

[FEATURE]: Enabling distributed locking in Dynomite #3450

charybr opened this issue Jan 17, 2023 · 6 comments
Labels

Comments

@charybr
Copy link
Contributor

charybr commented Jan 17, 2023

Enabling distributed locking in Dynomite

We need to enable distributed locking to address the problem described in https://conductor.netflix.com/technicaldetails.html.
The race condition between sweeper decide and task update threads can happen even in single instance under high-load (but chances are more in case of multiple instances) . There was a discussion regarding - Workflow decider not properly scheduling next tasks under high-load (#1664).
So it sounds like we need to enable locking for consistency irrespective of single or multiple conductor instance.

Problem
To enable locking currently Conductor supports redis server (single, cluster or sentinel) or zookeeper. But Dyno client (Netflix/dyno#271) has code changes to implement Redlock. For some reason, this is not integrated in Conductor.

Describe Preferred Solution

Since Dynomite is the default persistence and queuing mechanism in Conductor, there should be an option to use Dynomite for locking as well. If agreed, I can create a PR for this.

Describe Alternatives

Alternative is using either Redis (single, cluster or sentinel) or Zookeeper. In scenarios where already Dynomite is used, this becomes an overhead to have separate Redis or Zookeeper just for locking.

@charybr charybr added the type: feature New feature label Jan 17, 2023
@charybr
Copy link
Contributor Author

charybr commented Jan 19, 2023

In the past, there was an attempt to implement Redlock in Dynomite itself. Please refer
#759
#1137

There was a ask for this same feature request in below comment
#1137 (comment)

@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2023

This issue is stale, because it has been open for 45 days with no activity. Remove the stale label or comment, or this will be closed in 7 days.

@github-actions github-actions bot added the Stale label Mar 6, 2023
@charybr
Copy link
Contributor Author

charybr commented Mar 6, 2023

Will soon create a PR

@github-actions github-actions bot removed the Stale label Mar 7, 2023
@charybr
Copy link
Contributor Author

charybr commented Apr 12, 2023

still working the code changes

@github-actions
Copy link
Contributor

This issue is stale, because it has been open for 45 days with no activity. Remove the stale label or comment, or this will be closed in 7 days.

@github-actions github-actions bot added the Stale label May 28, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Jun 4, 2023

This issue was closed, because it has been stalled for 7 days with no activity.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jun 4, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant