[
https://issues.apache.org/jira/browse/IGNITE-27919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-27919:
---------------------------------------
Description:
If a node gets stopped during an attempt to switch a write intent, an exception
like the following one may be logged:
{noformat}
[2026-02-19T17:21:30,144][INFO
][%ibiwiht_wiftawwfttfsnbi_3344%partition-operations-24][WriteIntentSwitchProcessor]
Failed to switch write intents for txn
[txId=019c760f-8726-0000-b6cb-6aef00000001].
java.util.concurrent.CompletionException:
org.apache.ignite.tx.TransactionException: IGN-CMN-1 Failed to get the primary
replica [zonePartitionId=20_part_0, awaitTimestamp=HybridTimestamp
[physical=2026-02-19 13:21:30:142 +0000, logical=0,
composite=116097501766746112]] TraceId:f76bc29c at
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
at
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
at
java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:932)
at
java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946)
at
java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2268)
at
org.apache.ignite.internal.tx.impl.PlacementDriverHelper.awaitPrimaryReplicaWithExceptionHandling(PlacementDriverHelper.java:101)
at
org.apache.ignite.internal.tx.impl.PlacementDriverHelper.awaitPrimaryReplicaWithExceptionHandling(PlacementDriverHelper.java:91)
at
org.apache.ignite.internal.tx.impl.PlacementDriverHelper.awaitPrimaryReplicaWithExceptionHandling(PlacementDriverHelper.java:72)
at
org.apache.ignite.internal.tx.impl.WriteIntentSwitchProcessor.switchWriteIntentsWithRetry(WriteIntentSwitchProcessor.java:88)
at
org.apache.ignite.internal.tx.impl.WriteIntentSwitchProcessor.lambda$switchWriteIntentsWithRetry$1(WriteIntentSwitchProcessor.java:100)
at
java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
at
java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire$$$capture(CompletableFuture.java:907)
at
java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java)
at
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at
java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2090)
at
org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$1(ReplicaService.java:157)
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:834) Caused by:
org.apache.ignite.tx.TransactionException: Failed to get the primary replica
[zonePartitionId=20_part_0, awaitTimestamp=HybridTimestamp [physical=2026-02-19
13:21:30:142 +0000, logical=0, composite=116097501766746112]] at
org.apache.ignite.internal.util.ExceptionUtils.lambda$withCause$1(ExceptionUtils.java:541)
at
org.apache.ignite.internal.util.ExceptionUtils.withCauseInternal(ExceptionUtils.java:603)
at
org.apache.ignite.internal.util.ExceptionUtils.withCause(ExceptionUtils.java:541)
at
org.apache.ignite.internal.tx.impl.PlacementDriverHelper.lambda$awaitPrimaryReplicaWithExceptionHandling$0(PlacementDriverHelper.java:105)
at
java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
... 16 more Caused by: org.apache.ignite.internal.lang.NodeStoppingException:
Operation has been cancelled (node is stopping). at
org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:943)
at
org.apache.ignite.internal.placementdriver.leases.LeaseTracker.awaitPrimaryReplica(LeaseTracker.java:275)
at
org.apache.ignite.internal.placementdriver.PlacementDriverManager$1.awaitPrimaryReplica(PlacementDriverManager.java:350)
at
org.apache.ignite.internal.tx.impl.PlacementDriverHelper.awaitPrimaryReplicaWithExceptionHandling(PlacementDriverHelper.java:100)
... 13 more {noformat}
The exception is by itself useless and just clogs the log.
> Do not log failure to switch WI due to node stop
> ------------------------------------------------
>
> Key: IGNITE-27919
> URL: https://issues.apache.org/jira/browse/IGNITE-27919
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> If a node gets stopped during an attempt to switch a write intent, an
> exception like the following one may be logged:
>
>
> {noformat}
> [2026-02-19T17:21:30,144][INFO
> ][%ibiwiht_wiftawwfttfsnbi_3344%partition-operations-24][WriteIntentSwitchProcessor]
> Failed to switch write intents for txn
> [txId=019c760f-8726-0000-b6cb-6aef00000001].
> java.util.concurrent.CompletionException:
> org.apache.ignite.tx.TransactionException: IGN-CMN-1 Failed to get the
> primary replica [zonePartitionId=20_part_0, awaitTimestamp=HybridTimestamp
> [physical=2026-02-19 13:21:30:142 +0000, logical=0,
> composite=116097501766746112]] TraceId:f76bc29c at
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
> at
> java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
> at
> java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:932)
> at
> java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946)
> at
> java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2268)
> at
> org.apache.ignite.internal.tx.impl.PlacementDriverHelper.awaitPrimaryReplicaWithExceptionHandling(PlacementDriverHelper.java:101)
> at
> org.apache.ignite.internal.tx.impl.PlacementDriverHelper.awaitPrimaryReplicaWithExceptionHandling(PlacementDriverHelper.java:91)
> at
> org.apache.ignite.internal.tx.impl.PlacementDriverHelper.awaitPrimaryReplicaWithExceptionHandling(PlacementDriverHelper.java:72)
> at
> org.apache.ignite.internal.tx.impl.WriteIntentSwitchProcessor.switchWriteIntentsWithRetry(WriteIntentSwitchProcessor.java:88)
> at
> org.apache.ignite.internal.tx.impl.WriteIntentSwitchProcessor.lambda$switchWriteIntentsWithRetry$1(WriteIntentSwitchProcessor.java:100)
> at
> java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
> at
> java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire$$$capture(CompletableFuture.java:907)
> at
> java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java)
> at
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
> at
> java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2090)
> at
> org.apache.ignite.internal.replicator.ReplicaService.lambda$sendToReplicaRaw$1(ReplicaService.java:157)
> 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:834) Caused by:
> org.apache.ignite.tx.TransactionException: Failed to get the primary replica
> [zonePartitionId=20_part_0, awaitTimestamp=HybridTimestamp
> [physical=2026-02-19 13:21:30:142 +0000, logical=0,
> composite=116097501766746112]] at
> org.apache.ignite.internal.util.ExceptionUtils.lambda$withCause$1(ExceptionUtils.java:541)
> at
> org.apache.ignite.internal.util.ExceptionUtils.withCauseInternal(ExceptionUtils.java:603)
> at
> org.apache.ignite.internal.util.ExceptionUtils.withCause(ExceptionUtils.java:541)
> at
> org.apache.ignite.internal.tx.impl.PlacementDriverHelper.lambda$awaitPrimaryReplicaWithExceptionHandling$0(PlacementDriverHelper.java:105)
> at
> java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
> ... 16 more Caused by:
> org.apache.ignite.internal.lang.NodeStoppingException: Operation has been
> cancelled (node is stopping). at
> org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:943)
> at
> org.apache.ignite.internal.placementdriver.leases.LeaseTracker.awaitPrimaryReplica(LeaseTracker.java:275)
> at
> org.apache.ignite.internal.placementdriver.PlacementDriverManager$1.awaitPrimaryReplica(PlacementDriverManager.java:350)
> at
> org.apache.ignite.internal.tx.impl.PlacementDriverHelper.awaitPrimaryReplicaWithExceptionHandling(PlacementDriverHelper.java:100)
> ... 13 more {noformat}
>
> The exception is by itself useless and just clogs the log.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)