use of org.apache.ignite.internal.raft.Loza in project ignite-3 by apache.
the class ItTxDistributedTestSingleNode method assertPartitionsSame.
/**
* {@inheritDoc}
*/
@Override
protected boolean assertPartitionsSame(Table table, int partId) {
int hash = 0;
for (Map.Entry<ClusterNode, Loza> entry : raftServers.entrySet()) {
Loza svc = (Loza) entry.getValue();
JraftServerImpl server = (JraftServerImpl) svc.server();
org.apache.ignite.raft.jraft.RaftGroupService grp = server.raftGroupService(table.name() + "-part-" + partId);
JraftServerImpl.DelegatingStateMachine fsm = (JraftServerImpl.DelegatingStateMachine) grp.getRaftNode().getOptions().getFsm();
PartitionListener listener = (PartitionListener) fsm.getListener();
VersionedRowStore storage = listener.getStorage();
if (hash == 0) {
hash = storage.delegate().hashCode();
} else if (hash != storage.delegate().hashCode()) {
return false;
}
}
return true;
}
use of org.apache.ignite.internal.raft.Loza in project ignite-3 by apache.
the class ItTxDistributedTestSingleNode method after.
/**
* Shutdowns all cluster nodes after each test.
*
* @throws Exception If failed.
*/
@AfterEach
public void after() throws Exception {
cluster.parallelStream().map(c -> {
c.stop();
return null;
}).forEach(o -> {
});
if (client != null) {
client.stop();
}
IgniteUtils.shutdownAndAwaitTermination(executor, 10, TimeUnit.SECONDS);
for (Loza rs : raftServers.values()) {
Set<String> grps = rs.startedGroups();
for (String grp : grps) {
rs.stopRaftGroup(grp);
}
rs.stop();
}
for (TxManager txMgr : txManagers.values()) {
txMgr.stop();
}
for (RaftGroupService svc : accRaftClients.values()) {
svc.shutdown();
}
for (RaftGroupService svc : custRaftClients.values()) {
svc.shutdown();
}
}
Aggregations