use of com.alibaba.graphscope.groot.discovery.MaxGraphNode in project GraphScope by alibaba.
the class RpcServer method start.
public void start() throws IOException {
server.start();
MaxGraphNode localNode = this.localNodeProvider.apply(server.getPort());
logger.info("RpcServer started, node [" + localNode + "]");
}
use of com.alibaba.graphscope.groot.discovery.MaxGraphNode in project GraphScope by alibaba.
the class SnapshotNotifierTest method testSnapshotNotifier.
@Test
void testSnapshotNotifier() {
NodeDiscovery discovery = mock(NodeDiscovery.class);
SnapshotManager snapshotManager = mock(SnapshotManager.class);
RoleClients<FrontendSnapshotClient> roleClients = mock(RoleClients.class);
SnapshotNotifier snapshotNotifier = new SnapshotNotifier(discovery, snapshotManager, null, roleClients);
snapshotNotifier.start();
MaxGraphNode localNode = MaxGraphNode.createLocalNode(Configs.newBuilder().put(CommonConfig.ROLE_NAME.getKey(), RoleType.COORDINATOR.getName()).build(), 1111);
snapshotNotifier.nodesJoin(RoleType.FRONTEND, Collections.singletonMap(1, localNode));
ArgumentCaptor<NotifyFrontendListener> captor = ArgumentCaptor.forClass(NotifyFrontendListener.class);
verify(snapshotManager).addListener(captor.capture());
NotifyFrontendListener listener = captor.getValue();
snapshotNotifier.nodesLeft(RoleType.FRONTEND, Collections.singletonMap(1, localNode));
verify(snapshotManager).removeListener(listener);
}
use of com.alibaba.graphscope.groot.discovery.MaxGraphNode in project GraphScope by alibaba.
the class LocalNodeProviderTest method testProvider.
@Test
void testProvider() {
RoleType role = RoleType.STORE;
int idx = 2;
int port = 1111;
Configs configs = Configs.newBuilder().put("role.name", role.getName()).put("node.idx", String.valueOf(idx)).put("discovery.mode", "zookeeper").build();
LocalNodeProvider localNodeProvider = new LocalNodeProvider(configs);
MaxGraphNode node = localNodeProvider.apply(port);
Assertions.assertAll(() -> assertEquals(node.getRoleName(), role.getName()), () -> assertEquals(node.getIdx(), idx), () -> assertEquals(node.getPort(), port));
assertThrows(MaxGraphException.class, () -> localNodeProvider.apply(port));
}
use of com.alibaba.graphscope.groot.discovery.MaxGraphNode in project GraphScope by alibaba.
the class RpcServerTest method testRpcServer.
@Test
void testRpcServer() throws IOException {
int port = 1111;
Configs configs = Configs.newBuilder().put(CommonConfig.RPC_PORT.getKey(), String.valueOf(port)).put(CommonConfig.ROLE_NAME.getKey(), RoleType.STORE.getName()).put(CommonConfig.NODE_IDX.getKey(), "0").build();
LocalNodeProvider localNodeProvider = new LocalNodeProvider(configs);
RpcServer rpcServer = new RpcServer(configs, localNodeProvider);
rpcServer.start();
MaxGraphNode localNode = localNodeProvider.get();
assertEquals(port, localNode.getPort());
assertEquals(port, rpcServer.getPort());
rpcServer.stop();
}
use of com.alibaba.graphscope.groot.discovery.MaxGraphNode in project GraphScope by alibaba.
the class NodeNameResolver method nodesLeft.
@Override
public void nodesLeft(RoleType role, Map<Integer, MaxGraphNode> nodes) {
if (role == this.roleType) {
MaxGraphNode lostNode = nodes.get(this.idx);
if (lostNode != null) {
logger.info("connection lost. node [" + lostNode + "]");
this.listener.onResult(ResolutionResult.newBuilder().build());
}
}
}
Aggregations