You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Conductor uses a locking service to synchronize workflow execution. This is necessary in a multi instance deployment as well as single node deployment. Simply put, when running multiple conductor servers (for HA and horizontal scaling) executing a shared set of workflows, race conditions can only be eliminated with a locking service.
There are existing implementations of a locking service in conductor e.g. RedisLock or LocalOnlyLock but we don't run with Redis and LocalOnlyLock is useful only in a single node environment.
We need to implement a version of core/src/main/java/com/netflix/conductor/core/sync/Lock.java interface that uses postgres database as a central locking service. Postgres supports advisory locks that are a good fit for this. Note that the locking service needs to be reentrant.
The implementation should be placed into FRINXio/conductor-community subproject and eventually upstreamed to Netflix/conductor-community since that's where postgres integration resides.
The text was updated successfully, but these errors were encountered:
Conductor uses a locking service to synchronize workflow execution. This is necessary in a multi instance deployment as well as single node deployment. Simply put, when running multiple conductor servers (for HA and horizontal scaling) executing a shared set of workflows, race conditions can only be eliminated with a locking service.
There are existing implementations of a locking service in conductor e.g. RedisLock or LocalOnlyLock but we don't run with Redis and LocalOnlyLock is useful only in a single node environment.
We need to implement a version of core/src/main/java/com/netflix/conductor/core/sync/Lock.java interface that uses postgres database as a central locking service. Postgres supports advisory locks that are a good fit for this. Note that the locking service needs to be reentrant.
The implementation should be placed into FRINXio/conductor-community subproject and eventually upstreamed to Netflix/conductor-community since that's where postgres integration resides.
The text was updated successfully, but these errors were encountered: