Pavel Pereslegin created IGNITE-25167:
-----------------------------------------

             Summary: Catalog compaction should ignore NodeStoppingException.
                 Key: IGNITE-25167
                 URL: https://issues.apache.org/jira/browse/IGNITE-25167
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Pavel Pereslegin


Currently if compaction iteration fails due to local node shutdown 
CatalogCompactionRunner logs useless warning.
{noformat}
[2025-04-16T15:50:51,269][WARN 
][%ibiont_n_3344%catalog-compaction-0][CatalogCompactionRunner] Catalog 
compaction iteration has failed [lwm=HybridTimestamp [physical=2025-04-16 
12:40:51:260 +0000, logical=0, composite=114347688018575360]].
 java.util.concurrent.CompletionException: 
java.util.concurrent.CompletionException: Failed to propagate minimum required 
tx time to replicas.
    at 
org.apache.ignite.internal.catalog.compaction.CatalogCompactionRunner.lambda$startCompaction$4(CatalogCompactionRunner.java:336)
 ~[main/:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:986)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniExceptionallyStage(CompletableFuture.java:1004)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.exceptionally(CompletableFuture.java:2313)
 ~[?:?]
    at 
org.apache.ignite.internal.catalog.compaction.CatalogCompactionRunner.lambda$startCompaction$5(CatalogCompactionRunner.java:331)
 ~[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.postFire(CompletableFuture.java:610)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
    at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.util.concurrent.CompletionException: Failed to propagate 
minimum required tx time to replicas.
    at 
org.apache.ignite.internal.catalog.compaction.CatalogCompactionRunner.lambda$startCompaction$2(CatalogCompactionRunner.java:325)
 ~[main/:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:986)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniExceptionallyStage(CompletableFuture.java:1004)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.exceptionally(CompletableFuture.java:2313)
 ~[?:?]
    at 
org.apache.ignite.internal.catalog.compaction.CatalogCompactionRunner.lambda$startCompaction$5(CatalogCompactionRunner.java:324)
 ~[main/:?]
    ... 8 more
Caused by: java.util.concurrent.CompletionException: 
org.apache.ignite.internal.lang.NodeStoppingException: IGN-CMN-1 
TraceId:e6deb954-37f6-4b6a-a5f2-b38a13096fd7 Operation has been cancelled (node 
is stopping).
    at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.andTree(CompletableFuture.java:1452)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.allOf(CompletableFuture.java:2343)
 ~[?:?]
    at 
org.apache.ignite.internal.util.CompletableFutures.allOf(CompletableFutures.java:112)
 ~[main/:?]
    at 
org.apache.ignite.internal.catalog.compaction.CatalogCompactionRunner.propagateTimeToNodes(CatalogCompactionRunner.java:415)
 ~[main/:?]
    at 
org.apache.ignite.internal.catalog.compaction.CatalogCompactionRunner.lambda$startCompaction$5(CatalogCompactionRunner.java:323)
 ~[main/:?]
    ... 8 more
Caused by: org.apache.ignite.internal.lang.NodeStoppingException: Operation has 
been cancelled (node is stopping).
    at 
org.apache.ignite.internal.network.DefaultMessagingService.send0(DefaultMessagingService.java:255)
 ~[main/:?]
    at 
org.apache.ignite.internal.network.DefaultMessagingService.send(DefaultMessagingService.java:192)
 ~[main/:?]
    at 
org.apache.ignite.internal.network.MessagingService.send(MessagingService.java:53)
 ~[main/:?]
    at 
org.apache.ignite.internal.catalog.compaction.CatalogCompactionRunner.propagateTimeToNodes(CatalogCompactionRunner.java:412)
 ~[main/:?]
    at 
org.apache.ignite.internal.catalog.compaction.CatalogCompactionRunner.lambda$startCompaction$5(CatalogCompactionRunner.java:323)
 ~[main/:?]
    ... 8 more
{noformat}

It looks like it's better to ignore the NodeStoppingException and not log a 
warning in such cases.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to