[ https://issues.apache.org/jira/browse/IGNITE-24981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roman Puchkovskiy updated IGNITE-24981: --------------------------------------- Epic Link: IGNITE-22115 > Partition storage is missing on table creation with colocation > -------------------------------------------------------------- > > Key: IGNITE-24981 > URL: https://issues.apache.org/jira/browse/IGNITE-24981 > Project: Ignite > Issue Type: Bug > Reporter: Roman Puchkovskiy > Priority: Major > Labels: ignite-3 > > From time to time the following test > class ItBigZoneStopTest extends ClusterPerTestIntegrationTest { > @Override > protected int initialNodes() { > return 2; > } > @Test > void test() { > Ignite node = cluster.node(0); > node.sql().executeScript( > "CREATE ZONE TEST_ZONE WITH STORAGE_PROFILES='default', PARTITIONS=96;" > + "CREATE TABLE TEST_TABLE(id INT PRIMARY KEY, val VARCHAR(255)) ZONE > TEST_ZONE" > ); > node.sql().execute(null, "SELECT * FROM TEST_TABLE").close(); > } > } > > > fails with the following: > > java.util.concurrent.CompletionException: java.lang.AssertionError: > Partition storage is missing [zoneId=18, tableId=19, partitionId=58]. > at > java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniAcceptNow(CompletableFuture.java:757) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:731) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.thenAccept(CompletableFuture.java:2110) > ~[?:?] > at > org.apache.ignite.internal.index.IndexBuildController.lambda$onPrimaryReplicaElected$7(IndexBuildController.java:280) > ~[main/:?] > at > java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2075) > ~[?:?] > at > org.apache.ignite.internal.util.CompletableFutures.lambda$copyStateTo$2(CompletableFutures.java:160) > ~[main/:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253) > ~[?:?] > at > org.apache.ignite.internal.causality.BaseVersionedValue.copyState(BaseVersionedValue.java:335) > ~[main/:?] > at > org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:219) > ~[main/:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:283) > ~[main/:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253) > ~[?:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue.completeInternal(IncrementalVersionedValue.java:283) > ~[main/:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue$1.onUpdate(IncrementalVersionedValue.java:112) > ~[main/:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$dependingOn$0(IncrementalVersionedValue.java:83) > ~[main/:?] > at > org.apache.ignite.internal.causality.BaseVersionedValue.lambda$notifyCompletionListeners$6(BaseVersionedValue.java:367) > ~[main/:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253) > ~[?:?] > at > org.apache.ignite.internal.causality.BaseVersionedValue.notifyCompletionListeners(BaseVersionedValue.java:362) > ~[main/:?] > at > org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:228) > ~[main/:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:283) > ~[main/:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253) > ~[?:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue.completeInternal(IncrementalVersionedValue.java:283) > ~[main/:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue$1.onUpdate(IncrementalVersionedValue.java:112) > ~[main/:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$dependingOn$0(IncrementalVersionedValue.java:83) > ~[main/:?] > at > org.apache.ignite.internal.causality.BaseVersionedValue.lambda$notifyCompletionListeners$6(BaseVersionedValue.java:367) > ~[main/:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253) > ~[?:?] > at > org.apache.ignite.internal.causality.BaseVersionedValue.notifyCompletionListeners(BaseVersionedValue.java:362) > ~[main/:?] > at > org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:228) > ~[main/:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:283) > ~[main/:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253) > ~[?:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue.completeInternal(IncrementalVersionedValue.java:283) > ~[main/:?] > at > org.apache.ignite.internal.causality.IncrementalVersionedValue$1.onUpdate(IncrementalVersionedValue.java:112) > ~[main/:?] > at > org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyUpdateRevisionListeners(WatchProcessor.java:377) > ~[main/:?] > > Looks like there is a race between electing a zone primary and creating a > table partition storage for the same partition. -- This message was sent by Atlassian Jira (v8.20.10#820010)