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)

Reply via email to