You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vp...@apache.org on 2023/10/11 12:20:26 UTC
[ignite-3] branch ignite-19325_1 created (now 4256e63c5b)
This is an automated email from the ASF dual-hosted git repository.
vpyatkov pushed a change to branch ignite-19325_1
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
at 4256e63c5b IGNITE-19325 Unmute test MultiActorPlacementDriverTest#prolongAfterActiveActorChanger
This branch includes the following new commits:
new 4256e63c5b IGNITE-19325 Unmute test MultiActorPlacementDriverTest#prolongAfterActiveActorChanger
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[ignite-3] 01/01: IGNITE-19325 Unmute test MultiActorPlacementDriverTest#prolongAfterActiveActorChanger
Posted by vp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
vpyatkov pushed a commit to branch ignite-19325_1
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
commit 4256e63c5bbc408046edc8de606ddc14eeaee54f
Author: Vladislav Pyatkov <vl...@gmail.com>
AuthorDate: Wed Oct 11 15:11:51 2023 +0300
IGNITE-19325 Unmute test MultiActorPlacementDriverTest#prolongAfterActiveActorChanger
---
.../MultiActorPlacementDriverTest.java | 34 +++++++++++++++-------
1 file changed, 24 insertions(+), 10 deletions(-)
diff --git a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
index cd37a2e0b9..d314e2e8bd 100644
--- a/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
+++ b/modules/placement-driver/src/integrationTest/java/org/apache/ignite/internal/placementdriver/MultiActorPlacementDriverTest.java
@@ -46,6 +46,7 @@ import org.apache.ignite.internal.configuration.testframework.InjectConfiguratio
import org.apache.ignite.internal.hlc.HybridClock;
import org.apache.ignite.internal.hlc.HybridClockImpl;
import org.apache.ignite.internal.lang.IgniteTriFunction;
+import org.apache.ignite.internal.metastorage.Entry;
import org.apache.ignite.internal.metastorage.configuration.MetaStorageConfiguration;
import org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl;
import org.apache.ignite.internal.metastorage.server.SimpleInMemoryKeyValueStorage;
@@ -58,8 +59,10 @@ import org.apache.ignite.internal.placementdriver.message.PlacementDriverMessage
import org.apache.ignite.internal.placementdriver.message.PlacementDriverMessagesFactory;
import org.apache.ignite.internal.placementdriver.message.PlacementDriverReplicaMessage;
import org.apache.ignite.internal.raft.Loza;
+import org.apache.ignite.internal.raft.Peer;
import org.apache.ignite.internal.raft.client.TopologyAwareRaftGroupServiceFactory;
import org.apache.ignite.internal.raft.configuration.RaftConfiguration;
+import org.apache.ignite.internal.raft.service.RaftGroupService;
import org.apache.ignite.internal.replicator.TablePartitionId;
import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.internal.vault.VaultManager;
@@ -72,7 +75,6 @@ import org.apache.ignite.raft.jraft.rpc.impl.RaftGroupEventsClientListener;
import org.apache.ignite.utils.ClusterServiceTestUtils;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInfo;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -314,7 +316,6 @@ public class MultiActorPlacementDriverTest extends BasePlacementDriverTest {
}
@Test
- @Disabled("https://issues.apache.org/jira/browse/IGNITE-19325")
public void prolongAfterActiveActorChanger() throws Exception {
var acceptedNodeRef = new AtomicReference<String>();
@@ -330,19 +331,21 @@ public class MultiActorPlacementDriverTest extends BasePlacementDriverTest {
Lease lease = checkLeaseCreated(grpPart0, true);
- var msRaftClient = metaStorageManager.getService().raftGroupService();
+ RaftGroupService msRaftClient = metaStorageManager.getService().raftGroupService();
msRaftClient.refreshLeader().join();
- var previousLeader = msRaftClient.leader();
+ Peer previousLeader = msRaftClient.leader();
- var newLeader = msRaftClient.peers().stream().filter(peer -> !peer.equals(previousLeader)).findAny().get();
+ Peer newLeader = msRaftClient.peers().stream().filter(peer -> !peer.equals(previousLeader)).findAny().get();
- log.info("Leader transfer [from={}, to={}]", previousLeader, newLeader);
+ log.info("The placement driver group active actor is transferring [from={}, to={}]", previousLeader, newLeader);
msRaftClient.transferLeadership(newLeader).get();
- Lease leaseRenew = waitForProlong(grpPart0, lease);
+ waitForProlong(grpPart0, lease);
+
+ assertEquals(newLeader, msRaftClient.leader());
}
@@ -477,14 +480,24 @@ public class MultiActorPlacementDriverTest extends BasePlacementDriverTest {
var leaseRenewRef = new AtomicReference<Lease>();
assertTrue(waitForCondition(() -> {
- var fut = metaStorageManager.get(PLACEMENTDRIVER_LEASES_KEY);
+ if (lease == null) {
+ return false;
+ }
- Lease leaseRenew = leaseFromBytes(fut.join().value(), grpPart);
+ CompletableFuture<Entry> msFur = metaStorageManager.get(PLACEMENTDRIVER_LEASES_KEY).exceptionally(ex -> {
+ log.info("Meta storage is unavailable", ex);
- if (lease == null) {
+ return null;
+ });
+
+ assertThat(msFur, willCompleteSuccessfully());
+
+ if (msFur.join() == null) {
return false;
}
+ Lease leaseRenew = leaseFromBytes(msFur.join().value(), grpPart);
+
if (lease.getExpirationTime().compareTo(leaseRenew.getExpirationTime()) < 0) {
leaseRenewRef.set(leaseRenew);
@@ -495,6 +508,7 @@ public class MultiActorPlacementDriverTest extends BasePlacementDriverTest {
}, 10_000));
assertEquals(lease.getLeaseholder(), leaseRenewRef.get().getLeaseholder());
+ assertEquals(lease.getStartTime(), leaseRenewRef.get().getStartTime());
return leaseRenewRef.get();
}