Konstantin Orlov created IGNITE-22555:
-----------------------------------------
Summary: Assertion in ReplicaStateManager.onPrimaryElected
Key: IGNITE-22555
URL: https://issues.apache.org/jira/browse/IGNITE-22555
Project: Ignite
Issue Type: Bug
Reporter: Konstantin Orlov
If you increase the number of replicas in default zone to 3, random integration
tests will start to fail with {{java.lang.AssertionError: Replica is elected as
primary but not reserved}}.
Full stack trace:
{code}
[2024-06-21T15:04:04,132][ERROR][%isit_n_0%JRaft-FSMCaller-Disruptormetastorage_stripe_0-0][FailureProcessor]
Critical system error detected. Will be handled accordingly to configured
handler [hnd=NoOpFailureHandler [], failureCtx=FailureContext
[type=CRITICAL_ERROR, err=java.util.concurrent.CompletionException:
java.lang.AssertionError: Replica is elected as primary but not reserved
[groupId=34_part_19].]]
java.util.concurrent.CompletionException: java.lang.AssertionError: Replica is
elected as primary but not reserved [groupId=34_part_19].
at
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:870)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
~[?:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:246)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$4(WatchProcessor.java:193)
~[main/:?]
at
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
~[?:?]
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.lang.AssertionError: Replica is elected as primary but not
reserved [groupId=34_part_19].
at
org.apache.ignite.internal.replicator.ReplicaManager$ReplicaStateContext.assertReservation(ReplicaManager.java:1551)
~[main/:?]
at
org.apache.ignite.internal.replicator.ReplicaManager$ReplicaStateManager.onPrimaryElected(ReplicaManager.java:1271)
~[main/:?]
at
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
~[main/:?]
at
org.apache.ignite.internal.placementdriver.leases.LeaseTracker.fireEventReplicaBecomePrimary(LeaseTracker.java:404)
~[main/:?]
at
org.apache.ignite.internal.placementdriver.leases.LeaseTracker$UpdateListener.lambda$onUpdate$2(LeaseTracker.java:198)
~[main/:?]
at
org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:890)
~[main/:?]
at
org.apache.ignite.internal.placementdriver.leases.LeaseTracker$UpdateListener.onUpdate(LeaseTracker.java:173)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:245)
~[main/:?]
... 6 more
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)