This is an automated email from the ASF dual-hosted git repository.
ppa pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new b9a25a0b18 IGNITE-19187 Sql. Handle StorageRebalanceException during
rowsCount estimation (#1915)
b9a25a0b18 is described below
commit b9a25a0b18978f0d792d7e0c64b54d7b13cbfcdd
Author: Pavel Pereslegin <[email protected]>
AuthorDate: Mon Apr 10 17:33:10 2023 +0300
IGNITE-19187 Sql. Handle StorageRebalanceException during rowsCount
estimation (#1915)
---
.../ignite/internal/sql/engine/schema/IgniteTableImpl.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTableImpl.java
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTableImpl.java
index 8da9c5ab0e..4d3add4a15 100644
---
a/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTableImpl.java
+++
b/modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/schema/IgniteTableImpl.java
@@ -74,6 +74,7 @@ import org.apache.ignite.internal.sql.engine.trait.TraitUtils;
import org.apache.ignite.internal.sql.engine.type.IgniteTypeFactory;
import org.apache.ignite.internal.sql.engine.util.TypeUtils;
import org.apache.ignite.internal.storage.MvPartitionStorage;
+import org.apache.ignite.internal.storage.StorageRebalanceException;
import org.apache.ignite.internal.table.InternalTable;
import org.apache.ignite.internal.table.distributed.TableMessagesFactory;
import
org.apache.ignite.internal.table.distributed.replicator.TablePartitionId;
@@ -547,8 +548,14 @@ public class IgniteTableImpl extends AbstractTable
implements IgniteTable, Updat
for (int p = 0; p < parts; ++p) {
@Nullable MvPartitionStorage part =
table.storage().getMvPartition(p);
- if (part != null) {
+ if (part == null) {
+ continue;
+ }
+
+ try {
size += part.rowsCount();
+ } catch (StorageRebalanceException ignore) {
+ // No-op.
}
}