Search in sources :

Example 1 with IrGremlinServer

use of com.alibaba.graphscope.gremlin.service.IrGremlinServer in project GraphScope by alibaba.

the class IrServiceProducer method makeGraphService.

@Override
public AbstractService makeGraphService(SchemaFetcher schemaFetcher, ChannelManager channelManager) {
    int executorCount = CommonConfig.STORE_NODE_COUNT.get(configs);
    RpcChannelFetcher channelFetcher = new RpcChannelManagerFetcher(channelManager, executorCount, RoleType.GAIA_RPC);
    com.alibaba.graphscope.common.config.Configs irConfigs = getConfigs();
    IrMetaFetcher irMetaFetcher = new GrootMetaFetcher(schemaFetcher);
    SnapshotUpdateCommitter updateCommitter = new SnapshotUpdateCommitter(channelManager);
    int frontendId = CommonConfig.NODE_IDX.get(configs);
    FrontendQueryManager queryManager = new FrontendQueryManager(irMetaFetcher, frontendId, updateCommitter);
    return new AbstractService() {

        private IrGremlinServer irGremlinServer = new IrGremlinServer(GremlinConfig.GREMLIN_PORT.get(configs));

        @Override
        public void start() {
            try {
                irGremlinServer.start(irConfigs, irMetaFetcher, channelFetcher, queryManager, TestGraphFactory.GROOT);
                queryManager.start();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }

        @Override
        public void stop() {
            try {
                irGremlinServer.close();
                queryManager.stop();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
    };
}
Also used : AbstractService(com.alibaba.maxgraph.servers.AbstractService) IrGremlinServer(com.alibaba.graphscope.gremlin.service.IrGremlinServer) RpcChannelFetcher(com.alibaba.graphscope.common.client.RpcChannelFetcher) IrMetaFetcher(com.alibaba.graphscope.common.store.IrMetaFetcher) SnapshotUpdateCommitter(com.alibaba.graphscope.groot.frontend.SnapshotUpdateCommitter)

Example 2 with IrGremlinServer

use of com.alibaba.graphscope.gremlin.service.IrGremlinServer in project GraphScope by alibaba.

the class Frontend method initAndStartGremlinServer.

@Override
protected void initAndStartGremlinServer() throws Exception {
    SchemaFetcher schemaFetcher;
    String vineyardSchemaPath = this.instanceConfig.getVineyardSchemaPath();
    logger.info("Read schema from vineyard schema file " + vineyardSchemaPath);
    schemaFetcher = new JsonFileSchemaFetcher(vineyardSchemaPath);
    this.remoteGraph = new RemoteGraph(this, schemaFetcher);
    this.remoteGraph.refresh();
    this.graph = new TinkerMaxGraph(instanceConfig, remoteGraph, new DefaultGraphDfs());
    // add ir compiler
    Configs configs = getConfigs(this.instanceConfig);
    IrMetaFetcher irMetaFetcher = getStoreConfigs(this.instanceConfig);
    RpcAddressFetcher addressFetcher = new ExecutorAddressFetcher(this.clientManager);
    RpcChannelFetcher channelFetcher = new RpcAddressChannelFetcher(addressFetcher);
    this.gremlinServer = new IrGremlinServer(this.instanceConfig.getGremlinServerPort());
    this.gremlinServer.start(configs, irMetaFetcher, channelFetcher, new IrMetaQueryCallback(irMetaFetcher), TestGraphFactory.VINEYARD);
    this.gremlinServerPort = gremlinServer.getGremlinServerPort();
}
Also used : SchemaFetcher(com.alibaba.maxgraph.compiler.api.schema.SchemaFetcher) JsonFileSchemaFetcher(com.alibaba.maxgraph.compiler.schema.JsonFileSchemaFetcher) RemoteGraph(com.alibaba.maxgraph.frontendservice.RemoteGraph) ExecutorAddressFetcher(com.alibaba.maxgraph.frontendservice.server.ExecutorAddressFetcher) IrGremlinServer(com.alibaba.graphscope.gremlin.service.IrGremlinServer) DefaultGraphDfs(com.alibaba.maxgraph.compiler.dfs.DefaultGraphDfs) RpcChannelFetcher(com.alibaba.graphscope.common.client.RpcChannelFetcher) JsonFileSchemaFetcher(com.alibaba.maxgraph.compiler.schema.JsonFileSchemaFetcher) RpcAddressFetcher(com.alibaba.maxgraph.common.rpc.RpcAddressFetcher) TinkerMaxGraph(com.alibaba.maxgraph.structure.graph.TinkerMaxGraph) IrMetaFetcher(com.alibaba.graphscope.common.store.IrMetaFetcher) IrMetaQueryCallback(com.alibaba.graphscope.common.manager.IrMetaQueryCallback) Configs(com.alibaba.graphscope.common.config.Configs)

Aggregations

RpcChannelFetcher (com.alibaba.graphscope.common.client.RpcChannelFetcher)2 IrMetaFetcher (com.alibaba.graphscope.common.store.IrMetaFetcher)2 IrGremlinServer (com.alibaba.graphscope.gremlin.service.IrGremlinServer)2 Configs (com.alibaba.graphscope.common.config.Configs)1 IrMetaQueryCallback (com.alibaba.graphscope.common.manager.IrMetaQueryCallback)1 SnapshotUpdateCommitter (com.alibaba.graphscope.groot.frontend.SnapshotUpdateCommitter)1 RpcAddressFetcher (com.alibaba.maxgraph.common.rpc.RpcAddressFetcher)1 SchemaFetcher (com.alibaba.maxgraph.compiler.api.schema.SchemaFetcher)1 DefaultGraphDfs (com.alibaba.maxgraph.compiler.dfs.DefaultGraphDfs)1 JsonFileSchemaFetcher (com.alibaba.maxgraph.compiler.schema.JsonFileSchemaFetcher)1 RemoteGraph (com.alibaba.maxgraph.frontendservice.RemoteGraph)1 ExecutorAddressFetcher (com.alibaba.maxgraph.frontendservice.server.ExecutorAddressFetcher)1 AbstractService (com.alibaba.maxgraph.servers.AbstractService)1 TinkerMaxGraph (com.alibaba.maxgraph.structure.graph.TinkerMaxGraph)1