[ https://issues.apache.org/jira/browse/IGNITE-18060?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirill Gusakov updated IGNITE-18060: ------------------------------------ Attachment: rebalance_redesign.md > Prepare design and tickets breakdown for rebalance over replicas > ---------------------------------------------------------------- > > Key: IGNITE-18060 > URL: https://issues.apache.org/jira/browse/IGNITE-18060 > Project: Ignite > Issue Type: New Feature > Reporter: Alexander Lapin > Assignee: Kirill Gusakov > Priority: Major > Labels: ignite-3 > Attachments: rebalance_redesign.md > > > h3. Motivation > Current rebalance design specified in > {code:java} > ignite-3/modules/table/tech-notes/rebalance.md {code} > is a bit complicated. The good news is that it can be simplified using the > following mechanics: > * Meta storage over learners, meaning that every cluster node will have meta > storage locally. > * Rebalance over replicas, meaning that there will be useful abstraction of > (at most) single actor in replication group, better known as primary replica. > * Meta storage over version values, meaning that it'll be possible to > eliminate the requirement of single-threaded meta storage watch, that, among > other things, will also eliminate watch-redeployment procedure. > All in all, given ticket is only about over replicas part. So, it's required > to prototype and design new rebalance algorithm on top of at most single > actor invariant. Among the key potential difficulties, I would highlight the > following set: > * Stale triggers. Primary replica that manages rebalance could still be > notified about stale updates, that will required ms invokes over trigger > revision. > * It's required to take into consideration in-memory replicas switch logic. > h3. Definition of Done > * Either new design along with tickets breakdown for rebalance over replicas > (at most single actor) is ready or list of substantial arguments that the use > of replicas does not simplify the rebalancing algorithm is provided. > * Proposed replica based logic should be simple, it's not worth to waste > time for micro enhancements. In that case we should consider system table as > an alternative. > * Thus high level design of rebalance over system table is also expected. > All in all we should compare whether it's easier to have (ms based, replica > based) approach or implement system tables and build rebalance logic on top > of it. > -- This message was sent by Atlassian Jira (v8.20.10#820010)