IGNITE-22191 Fixed case null MvPartitionStorage in IndexBuildController (#3739)
diff --git a/modules/index/src/main/java/org/apache/ignite/internal/index/IndexBuildController.java b/modules/index/src/main/java/org/apache/ignite/internal/index/IndexBuildController.java
index e5ec762..934ce55 100644
--- a/modules/index/src/main/java/org/apache/ignite/internal/index/IndexBuildController.java
+++ b/modules/index/src/main/java/org/apache/ignite/internal/index/IndexBuildController.java
@@ -306,6 +306,11 @@
) {
MvPartitionStorage mvPartition = mvPartitionStorage(mvTableStorage, replicaId);
+ // TODO: IGNITE-22202 Deal with this situation
+ if (mvPartition == null) {
+ return;
+ }
+
IndexStorage indexStorage = indexStorage(mvTableStorage, replicaId, indexDescriptor);
indexBuilder.scheduleBuildIndex(
@@ -329,6 +334,11 @@
) {
MvPartitionStorage mvPartition = mvPartitionStorage(mvTableStorage, replicaId);
+ // TODO: IGNITE-22202 Deal with this situation
+ if (mvPartition == null) {
+ return;
+ }
+
IndexStorage indexStorage = indexStorage(mvTableStorage, replicaId, indexDescriptor);
indexBuilder.scheduleBuildIndexAfterDisasterRecovery(
@@ -355,10 +365,11 @@
return replicaMeta.getStartTime().longValue();
}
- private static MvPartitionStorage mvPartitionStorage(MvTableStorage mvTableStorage, TablePartitionId replicaId) {
+ private static @Nullable MvPartitionStorage mvPartitionStorage(MvTableStorage mvTableStorage, TablePartitionId replicaId) {
MvPartitionStorage mvPartition = mvTableStorage.getMvPartition(replicaId.partitionId());
- assert mvPartition != null : replicaId;
+ // TODO: IGNITE-22202 Deal with this situation
+ // assert mvPartition != null : replicaId;
return mvPartition;
}