ibessonov commented on code in PR #1471:
URL: https://github.com/apache/ignite-3/pull/1471#discussion_r1057241671
##########
modules/storage-api/src/main/java/org/apache/ignite/internal/storage/engine/MvTableStorage.java:
##########
@@ -165,43 +167,65 @@ default IndexStorage getOrCreateIndex(int partitionId,
UUID indexId) {
CompletableFuture<Void> destroy();
/**
- * Prepares the partition storage for rebalancing: makes a backup of the
current partition storage and creates a new storage.
- *
- * <p>This method must be called before every full rebalance of the
partition storage, so that in case of errors or cancellation of the
- * full rebalance, we can restore the partition storage from the backup.
- *
- * <p>Full rebalance will be completed when one of the methods is called:
- * <ol>
- * <li>{@link #abortRebalanceMvPartition(int)} - in case of a full
rebalance cancellation or failure, so that we can
- * restore the partition storage from a backup;</li>
- * <li>{@link #finishRebalanceMvPartition(int)} - in case of a
successful full rebalance, to remove the backup of the
- * partition storage.</li>
- * </ol>
+ * Prepares a partition for a full rebalance.
+ * <ul>
+ * <li>Cleans up the {@link MvPartitionStorage multi-version partition
storage} and its associated indexes ({@link HashIndexStorage}
+ * and {@link SortedIndexStorage});</li>
+ * <li>Sets {@link MvPartitionStorage#lastAppliedIndex()} and {@link
MvPartitionStorage#lastAppliedTerm()} to
+ * {@link MvPartitionStorage#FULL_REBALANCE_IN_PROGRESS};</li>
+ * <li>Stops the cursors of a multi-version partition storage and its
indexes, subsequent calls to {@link Cursor#hasNext()} and
+ * {@link Cursor#next()} will throw {@link
StorageFullRebalanceException};</li>
+ * <li>For a multi-version partition storage and its indexes, only
write methods will be available, while read and
Review Comment:
Because of a real possibility to shoot yourself in a foot. The more
restrictive we are, the better. I don't trust people that call storage API :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]