Vladislav Pyatkov created IGNITE-23213:
------------------------------------------
Summary: Lease agreement can be overridden, but MS not updated
Key: IGNITE-23213
URL: https://issues.apache.org/jira/browse/IGNITE-23213
Project: Ignite
Issue Type: Bug
Reporter: Vladislav Pyatkov
h3. Motivation
Placement-driven creates an agreement to start negotiation about the primary
replica lease. Then a lease is created after a replica sends an acknowledgement
of this agreement.
We propose this process in lenirialized through the MS. But agreements do not
store in MS and might be updated in a local lease update process that we apply
a lease which is not math to current agreement:
{noformat}
Caused by:
org.apache.ignite.internal.replicator.exception.PrimaryReplicaMissException:
IGN-REP-6 TraceId:2f960fa5-b393-40f4-8066-9f9f4b539f07 The primary replica has
changed [txId=0191ea41-2f04-0004-2a17-e67f00000001,
expectedEnlistmentConsistencyToken=113129031393542406,
currentEnlistmentConsistencyToken=113129031360315925].
at
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$applyUpdateAllCommand$124(PartitionReplicaListener.java:2891)
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.complete(CompletableFuture.java:2073)
at
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$applyCmdWithRetryOnSafeTimeReorderException$117(PartitionReplicaListener.java:2683)
at
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
at
java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
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)
... 3 more
{noformat}
h3. Definition of done
Lease should match the agreement, which was sent to a remote replica.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)