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

Reply via email to