[CONTROLLER-1506] CDS: refactor Shard to use behaviors Created: 30/Mar/16  Updated: 25/Jul/23

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

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

Operating System: All
Platform: All


Issue Links:
Blocks
blocks CONTROLLER-1498 Controller crashes with OOM. oldRoot/... Resolved
blocks CONTROLLER-1510 Convert messages to hold explicit sen... Confirmed

 Description   

Using behaviors in sal-akka-raft allows us to use simple unit tests for validation of behavior. Unfortunately the data store backed is still governed by direct RaftActor/Shard interactions, which makes isolating behavior-specific code problematic.

Refactor the data store code (Shard et al.) to use Leader/Follower behaviors and redesign RaftActor interface so that the behavior transitions are explicit. The end result should be that when RaftActor performs a behavior change, it will instantiate the new behavior and call up to Shard to wrap it with proper datastore-specific behavior, which it will then use.


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