Ivan Bessonov created IGNITE-17084:
--------------------------------------
Summary: Native rebalance for RocksDB partitions
Key: IGNITE-17084
URL: https://issues.apache.org/jira/browse/IGNITE-17084
Project: Ignite
Issue Type: Improvement
Reporter: Ivan Bessonov
General idea of full rebalance is described in
https://issues.apache.org/jira/browse/IGNITE-17083
For persistent storages, there's an option to avoid copy-on-write rebalance
algorithms if it's desired. Intuitively, it's a preferable option. Each storage
chooses its own format.
In this case, RocksDB allows consistent db iteration using a "Snapshot"
feature. Idea is very simple:
* Take a RoackDB snapshot.
* Iterate through partition data.
* Iterate through indexes.
* Relese the snapshot.
There must be a common "infrastructure" or a framework to stream native
rebalance snapshots. Data format should be as simple as possible.
h2. Possible problems
Given that "raw" data is sent, including sql indexes, all incompleted indexes
will be sent incompleted. Maybe we should also send a build state for each
index so that the receiving side could continue from the right place, not from
the beginning.
This problem will be resolved in the future. Currently we don't have indexes
implemented.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)