[ https://issues.apache.org/jira/browse/IGNITE-25179?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17946675#comment-17946675 ]
Roman Puchkovskiy commented on IGNITE-25179: -------------------------------------------- The patch looks good to me > Investigate assertion error: Missing resources for partition 0_part_1 > --------------------------------------------------------------------- > > Key: IGNITE-25179 > URL: https://issues.apache.org/jira/browse/IGNITE-25179 > Project: Ignite > Issue Type: Bug > Reporter: Vyacheslav Koptilin > Assignee: Vyacheslav Koptilin > Priority: Major > Labels: ignite-3 > Fix For: 3.1 > > Time Spent: 50m > Remaining Estimate: 0h > > ItCatalogCompactionTest failes with the following error: > {code:java} > java.lang.AssertionError: The earliest catalog version does not match. > Expected: is <8> but: was <0>java.lang.AssertionError: The earliest catalog > version does not match. > Expected: is <8> but: was <0> at > org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20) at > org.apache.ignite.internal.catalog.compaction.ItCatalogCompactionTest.lambda$expectEarliestCatalogVersion$11(ItCatalogCompactionTest.java:279) > at > org.awaitility.core.AssertionCondition.lambda$new$0(AssertionCondition.java:53) > at > org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:248) > at > org.awaitility.core.ConditionAwaiter$ConditionPoller.call(ConditionAwaiter.java:235) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at > org.awaitility.core.SameThreadExecutorService.execute(SameThreadExecutorService.java:79) > at > java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) > at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:101) > at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119) > at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31) > at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1160) at > org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:790) > at > org.apache.ignite.internal.catalog.compaction.ItCatalogCompactionTest.expectEarliestCatalogVersion(ItCatalogCompactionTest.java:274) > at > org.apache.ignite.internal.catalog.compaction.ItCatalogCompactionTest.testCompactionRun(ItCatalogCompactionTest.java:226) > {code} > due to > {code:java} > [2025-04-17T07:41:33,803][ERROR][%icct_n_3345%low-watermark-updater-0][FailureManager] > Critical system error detected. Will be handled accordingly to configured > handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler > [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, > SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=CRITICAL_ERROR] > org.apache.ignite.internal.failure.FailureManager$StackTraceCapturingException: > java.lang.AssertionError: Missing resources for partition 0_part_1 > at > org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:163) > ~[ignite-failure-handler-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:140) > ~[ignite-failure-handler-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.lowwatermark.LowWatermarkImpl.lambda$updateAndNotify$10(LowWatermarkImpl.java:350) > ~[ignite-low-watermark-3.1.0-SNAPSHOT.jar:?] > at > java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) > [?:?] > at > java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) > [?:?] > at > java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) > [?:?] > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) > [?:?] > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > [?:?] > at > java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) > [?:?] > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) > [?:?] > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > [?:?] > at java.base/java.lang.Thread.run(Thread.java:833) [?:?] > Caused by: java.util.concurrent.CompletionException: > java.lang.AssertionError: Missing resources for partition 0_part_1 > at > java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:332) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniAcceptNow(CompletableFuture.java:747) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.uniAcceptStage(CompletableFuture.java:735) > ~[?:?] > at > java.base/java.util.concurrent.CompletableFuture.thenAccept(CompletableFuture.java:2182) > ~[?:?] > at > org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:99) > ~[ignite-core-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.lowwatermark.LowWatermarkImpl.lambda$updateAndNotify$9(LowWatermarkImpl.java:342) > ~[ignite-low-watermark-3.1.0-SNAPSHOT.jar:?] > at > java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) > ~[?:?] > ... 7 more > Caused by: java.lang.AssertionError: Missing resources for partition 0_part_1 > at > org.apache.ignite.internal.partition.replicator.ZoneResourcesManager.getZonePartitionResources(ZoneResourcesManager.java:140) > ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.partition.replicator.ZoneResourcesManager.removeTableResources(ZoneResourcesManager.java:182) > ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.partition.replicator.PartitionReplicaLifecycleManager.unloadTableResourcesFromZoneReplica(PartitionReplicaLifecycleManager.java:1598) > ~[ignite-partition-replicator-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.table.distributed.TableManager.stopAndDestroyTablePartitions(TableManager.java:2752) > ~[ignite-table-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.table.distributed.TableManager.destroyTableLocally(TableManager.java:1905) > ~[ignite-table-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.table.distributed.TableManager.lambda$onLwmChanged$55(TableManager.java:1095) > ~[ignite-table-3.1.0-SNAPSHOT.jar:?] > at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?] > at > org.apache.ignite.internal.table.distributed.TableManager.onLwmChanged(TableManager.java:1095) > ~[ignite-table-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88) > ~[ignite-core-3.1.0-SNAPSHOT.jar:?] > at > org.apache.ignite.internal.lowwatermark.LowWatermarkImpl.lambda$updateAndNotify$9(LowWatermarkImpl.java:342) > ~[ignite-low-watermark-3.1.0-SNAPSHOT.jar:?] > at > java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) > ~[?:?] > ... 7 more > {code} > > The root cause of the issue is that `TableManager` tries to unload partition > resources for all configured partitions, even though the current node is not > the owner of a particular partition. -- This message was sent by Atlassian Jira (v8.20.10#820010)