[CONTROLLER-2083] Create eos-dom-akka-raft Created: 01/Aug/23  Updated: 15/Jan/24

Status: Confirmed
Project: controller
Component/s: eos
Affects Version/s: None
Fix Version/s: 10.0.0

Type: Improvement Priority: Medium
Reporter: Robert Varga Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: pt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

eos-dom-akka is not panning out due to multiple reasons:

  • poor transition performance: chasing-the-leader CSIT has noticeable performance drop
  • Akka itself has changed licensing and we want to move away

We used to have an implementation based on sal-distrubuted-datastore, which, at the end of the day, is the wrong layer to integrate on.

Create eos-dom-akka-raft, which will provide eos-dom-api based on sal-akka-raft, replicating the appropriate state information.

The new component needs to have two aspects:

  • EosRaftActor, which runs on every one and dynamically forms a cluster
  • implementation of DOMEntityOwnershipService hosted by the EosRaftActor

What we want to achieve is an omni-present, majority-election-constrolled (hence sal-akka-raft), DOMEntityOwnershipService.

The implementation is split in the middle:

  • registration of candidates pushes info to master
  • activation of candidates is replicated from master

Generated at Wed Feb 07 19:57:09 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.