Search in sources :

Example 6 with Loza

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;
}
Also used : ClusterNode(org.apache.ignite.network.ClusterNode) VersionedRowStore(org.apache.ignite.internal.table.distributed.storage.VersionedRowStore) Loza(org.apache.ignite.internal.raft.Loza) PartitionListener(org.apache.ignite.internal.table.distributed.raft.PartitionListener) JraftServerImpl(org.apache.ignite.internal.raft.server.impl.JraftServerImpl) Map(java.util.Map) Int2ObjectOpenHashMap(it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap) HashMap(java.util.HashMap)

Example 7 with Loza

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();
    }
}
Also used : BeforeEach(org.junit.jupiter.api.BeforeEach) TxAbstractTest(org.apache.ignite.internal.table.TxAbstractTest) RaftMessagesFactory(org.apache.ignite.raft.jraft.RaftMessagesFactory) RaftGroupService(org.apache.ignite.raft.client.service.RaftGroupService) Map(java.util.Map) JraftServerImpl(org.apache.ignite.internal.raft.server.impl.JraftServerImpl) NodeFinder(org.apache.ignite.network.NodeFinder) Int2ObjectOpenHashMap(it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap) InternalTableImpl(org.apache.ignite.internal.table.distributed.storage.InternalTableImpl) Set(java.util.Set) ScheduledThreadPoolExecutor(java.util.concurrent.ScheduledThreadPoolExecutor) UUID(java.util.UUID) Collectors(java.util.stream.Collectors) TxManager(org.apache.ignite.internal.tx.TxManager) TestInfo(org.junit.jupiter.api.TestInfo) ClusterNode(org.apache.ignite.network.ClusterNode) List(java.util.List) StaticNodeFinder(org.apache.ignite.network.StaticNodeFinder) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) RaftGroupServiceImpl(org.apache.ignite.raft.jraft.rpc.impl.RaftGroupServiceImpl) ClusterServiceTestUtils.findLocalAddresses(org.apache.ignite.utils.ClusterServiceTestUtils.findLocalAddresses) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList) Assertions.fail(org.junit.jupiter.api.Assertions.fail) ConcurrentHashMapPartitionStorage(org.apache.ignite.internal.storage.basic.ConcurrentHashMapPartitionStorage) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) RendezvousAffinityFunction(org.apache.ignite.internal.affinity.RendezvousAffinityFunction) ClusterServiceTestUtils(org.apache.ignite.utils.ClusterServiceTestUtils) Loza(org.apache.ignite.internal.raft.Loza) HashMap(java.util.HashMap) VersionedRowStore(org.apache.ignite.internal.table.distributed.storage.VersionedRowStore) HeapLockManager(org.apache.ignite.internal.tx.impl.HeapLockManager) TestScaleCubeClusterServiceFactory(org.apache.ignite.network.scalecube.TestScaleCubeClusterServiceFactory) TestUtils.waitForTopology(org.apache.ignite.raft.jraft.test.TestUtils.waitForTopology) TableImpl(org.apache.ignite.internal.table.TableImpl) IgniteUtils(org.apache.ignite.internal.util.IgniteUtils) DummySchemaManagerImpl(org.apache.ignite.internal.table.impl.DummySchemaManagerImpl) TxManagerImpl(org.apache.ignite.internal.tx.impl.TxManagerImpl) TableTxManagerImpl(org.apache.ignite.internal.table.distributed.TableTxManagerImpl) TableStorage(org.apache.ignite.internal.storage.engine.TableStorage) NetworkAddress(org.apache.ignite.network.NetworkAddress) TimeUnit(java.util.concurrent.TimeUnit) Mockito(org.mockito.Mockito) Peer(org.apache.ignite.raft.client.Peer) AfterEach(org.junit.jupiter.api.AfterEach) ClusterService(org.apache.ignite.network.ClusterService) PartitionListener(org.apache.ignite.internal.table.distributed.raft.PartitionListener) IgniteTransactionsImpl(org.apache.ignite.internal.tx.impl.IgniteTransactionsImpl) NamedThreadFactory(org.apache.ignite.internal.thread.NamedThreadFactory) Table(org.apache.ignite.table.Table) RaftGroupService(org.apache.ignite.raft.client.service.RaftGroupService) TxManager(org.apache.ignite.internal.tx.TxManager) Loza(org.apache.ignite.internal.raft.Loza) AfterEach(org.junit.jupiter.api.AfterEach)

Aggregations

Loza (org.apache.ignite.internal.raft.Loza)7 ClusterNode (org.apache.ignite.network.ClusterNode)7 Int2ObjectOpenHashMap (it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap)6 List (java.util.List)6 Map (java.util.Map)6 RaftGroupService (org.apache.ignite.raft.client.service.RaftGroupService)6 HashMap (java.util.HashMap)5 Set (java.util.Set)5 Collectors (java.util.stream.Collectors)5 PartitionListener (org.apache.ignite.internal.table.distributed.raft.PartitionListener)5 VersionedRowStore (org.apache.ignite.internal.table.distributed.storage.VersionedRowStore)5 UUID (java.util.UUID)4 CopyOnWriteArrayList (java.util.concurrent.CopyOnWriteArrayList)3 JraftServerImpl (org.apache.ignite.internal.raft.server.impl.JraftServerImpl)3 ConcurrentHashMapPartitionStorage (org.apache.ignite.internal.storage.basic.ConcurrentHashMapPartitionStorage)3 TableStorage (org.apache.ignite.internal.storage.engine.TableStorage)3 TableImpl (org.apache.ignite.internal.table.TableImpl)3 InternalTableImpl (org.apache.ignite.internal.table.distributed.storage.InternalTableImpl)3 TxManager (org.apache.ignite.internal.tx.TxManager)3 ClusterService (org.apache.ignite.network.ClusterService)3