[ 
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)

Reply via email to