[
https://issues.apache.org/jira/browse/IGNITE-22033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-22033:
----------------------------------
Attachment: _Integration_Tests_Module_Runner_24658_.log
> Replace PlacementDriver#currentLease with #getPrimaryReplica in
> ReadWriteTxContext#waitReadyToFinish
> ----------------------------------------------------------------------------------------------------
>
> Key: IGNITE-22033
> URL: https://issues.apache.org/jira/browse/IGNITE-22033
> Project: Ignite
> Issue Type: Bug
> Reporter: Denis Chudov
> Priority: Major
> Labels: ignite-3
> Attachments: _Integration_Tests_Module_Runner_24658_.log
>
>
> #currentLease can return null in a case when there is no lease information on
> the current node yet, while the lease may already exist on another node. This
> can lead to
> PrimaryReplicaExpiredException.
> Seems that we've already seen such exceptions on TC:
>
> {code:java}
> Caused by: org.apache.ignite.internal.tx.impl.PrimaryReplicaExpiredException:
> IGN-TX-13 TraceId:2766fa1f-a00e-4c53-b556-7d06fc116229 Primary replica has
> expired, transaction will be rolled back: [groupId = 59_part_11, expected
> enlistment consistency token = 112211838526816298, commit timestamp = null,
> current primary replica = null]
> at
> app//org.apache.ignite.internal.tx.impl.TransactionInflights$ReadWriteTxContext.waitReadyToFinish(TransactionInflights.java:271)
> at
> app//org.apache.ignite.internal.tx.impl.TransactionInflights$ReadWriteTxContext.performFinish(TransactionInflights.java:229)
> at
> app//org.apache.ignite.internal.tx.impl.TxManagerImpl.finish(TxManagerImpl.java:501)
> at
> app//org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finishInternal(ReadWriteTransactionImpl.java:161)
> at
> app//org.apache.ignite.internal.tx.impl.ReadWriteTransactionImpl.finish(ReadWriteTransactionImpl.java:140)
> at
> app//org.apache.ignite.internal.tx.impl.IgniteAbstractTransactionImpl.commitAsync(IgniteAbstractTransactionImpl.java:98)
> at
> app//org.apache.ignite.internal.sql.engine.tx.QueryTransactionWrapperImpl.commitImplicit(QueryTransactionWrapperImpl.java:46)
> at
> app//org.apache.ignite.internal.sql.engine.AsyncSqlCursorImpl.lambda$closeAsync$3(AsyncSqlCursorImpl.java:132)
> at
> [email protected]/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
> at
> [email protected]/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
> at
> app//org.apache.ignite.internal.sql.engine.AsyncSqlCursorImpl.closeAsync(AsyncSqlCursorImpl.java:132)
> at
> app//org.apache.ignite.internal.sql.engine.AsyncSqlCursorImpl.lambda$requestNextAsync$2(AsyncSqlCursorImpl.java:101)
> at
> [email protected]/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
> at
> [email protected]/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946)
> at
> [email protected]/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266)
> at
> app//org.apache.ignite.internal.sql.engine.AsyncSqlCursorImpl.requestNextAsync(AsyncSqlCursorImpl.java:94)
> at
> app//org.apache.ignite.internal.sql.api.IgniteSqlImpl.lambda$executeAsyncInternal$4(IgniteSqlImpl.java:360)
> at
> [email protected]/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
> at
> [email protected]/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
> at
> [email protected]/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
> at
> app//org.apache.ignite.internal.sql.engine.SqlQueryProcessor$PrefetchCallback.onPrefetchComplete(SqlQueryProcessor.java:1050)
> at
> app//org.apache.ignite.internal.sql.engine.prepare.KeyValueModifyPlan.lambda$execute$3(KeyValueModifyPlan.java:141)
> at
> [email protected]/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
> at
> [email protected]/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
> at
> [email protected]/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
> at
> app//org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:325)
> at
> app//org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:83){code}
> Full log attached.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)