@Override public void start() throws Exception { coordinator = coord.get(); coordinator.getServiceSet(ClusterCoordinator.Role.EXECUTOR).addNodeStatusListener(nodeListener); tunnelCreator = new CoordToExecTunnelCreator(fabric.get().getProtocol(Protocols.COORD_TO_EXEC)); bindingCreator.replace(ExecToCoordHandler.class, new ExecToCoordHandlerImpl()); final ForemenTool tool = new ForemenToolImpl(); boolean succeeded = bindingCreator.bindIfUnbound(ForemenTool.class, tool); if (!succeeded) { // then it is already bound, force set by replacing bindingCreator.replace(ForemenTool.class, tool); } final FabricRunnerFactory coordFactory = fabric.get() .registerProtocol(new CoordProtocol(dbContext.get().getAllocator(), tool, dbContext.get().getConfig())); bindingCreator.bindSelf(new CoordTunnelCreator(coordFactory)); final QueryCancelTool queryCancelTool = new QueryCancelToolImpl(); succeeded = bindingCreator.bindIfUnbound(QueryCancelTool.class, queryCancelTool); if (!succeeded) { bindingCreator.replace(QueryCancelTool.class, queryCancelTool); } // accept enduser rpc requests (replaces noop implementation). bindingCreator.bind(UserWorker.class, new UserWorkerImpl(dbContext.get().getOptionManager(), pool)); // accept local query execution requests. bindingCreator.bind(LocalQueryExecutor.class, new LocalQueryExecutorImpl(dbContext.get().getOptionManager(), pool)); // allow other components to see running queries bindingCreator.bind(RunningQueryProvider.class, new RunningQueryProviderImpl()); }
context.getConfig().getLong("dremio.exec.rpc.bit.server.memory.data.maximum")); final ExecToCoordTunnelCreator creator = new ExecToCoordTunnelCreator(fabricServiceProvider.get().getProtocol(Protocols.COORD_TO_EXEC));