public CuratorDruidLeaderSelector(CuratorFramework curator, @Self DruidNode self, String latchPath) { this.curator = curator; this.self = self; this.latchPath = latchPath; }
@Inject public ServiceAnnouncingChatHandlerProvider( @Self DruidNode node, ServiceAnnouncer serviceAnnouncer ) { this.node = node; this.serviceAnnouncer = serviceAnnouncer; this.handlers = Maps.newConcurrentMap(); }
@Inject public ForkingTaskRunnerFactory( final ForkingTaskRunnerConfig config, final WorkerConfig workerConfig, final Properties props, final ObjectMapper jsonMapper, final TaskLogPusher persistentTaskLogs, @Self DruidNode node ) { this.config = config; this.workerConfig = workerConfig; this.props = props; this.jsonMapper = jsonMapper; this.persistentTaskLogs = persistentTaskLogs; this.node = node; }
@Inject public ForkingTaskRunnerFactory( final ForkingTaskRunnerConfig config, final TaskConfig taskConfig, final WorkerConfig workerConfig, final Properties props, final ObjectMapper jsonMapper, final TaskLogPusher persistentTaskLogs, @Self DruidNode node ) { this.config = config; this.taskConfig = taskConfig; this.workerConfig = workerConfig; this.props = props; this.jsonMapper = jsonMapper; this.persistentTaskLogs = persistentTaskLogs; this.node = node; }
private static class DruidLeaderSelectorProvider implements Provider<DruidLeaderSelector> { @Inject private CuratorFramework curatorFramework; @Inject @Self private DruidNode druidNode; @Inject private ZkPathsConfig zkPathsConfig; private final Function<ZkPathsConfig, String> latchPathFn; DruidLeaderSelectorProvider(Function<ZkPathsConfig, String> latchPathFn) { this.latchPathFn = latchPathFn; } @Override public DruidLeaderSelector get() { return new CuratorDruidLeaderSelector( curatorFramework, druidNode, latchPathFn.apply(zkPathsConfig) ); } } }
@Inject public ForkingTaskRunner( ForkingTaskRunnerConfig config, WorkerConfig workerConfig, Properties props, TaskLogPusher taskLogPusher, ObjectMapper jsonMapper, @Self DruidNode node ) { this.config = config; this.props = props; this.taskLogPusher = taskLogPusher; this.jsonMapper = jsonMapper; this.node = node; this.exec = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(workerConfig.getCapacity())); }
@Inject @Self private DruidNode druidNode;
@Inject public ThreadPoolTaskRunner( TaskToolboxFactory toolboxFactory, TaskConfig taskConfig, ServiceEmitter emitter, @Self DruidNode node, ServerConfig serverConfig ) { this.toolboxFactory = Preconditions.checkNotNull(toolboxFactory, "toolboxFactory"); this.taskConfig = taskConfig; this.emitter = Preconditions.checkNotNull(emitter, "emitter"); this.location = TaskLocation.create(node.getHost(), node.getPlaintextPort(), node.getTlsPort()); this.serverConfig = serverConfig; }
@Provides @LazySingleton public Server getServer( final Injector injector, final Lifecycle lifecycle, @Self final DruidNode node, final ServerConfig config, final TLSServerConfig TLSServerConfig ) { return makeAndInitializeServer( injector, lifecycle, node, config, TLSServerConfig, injector.getExistingBinding(Key.get(SslContextFactory.class)) ); }
@Provides @ManageLifecycle public ServiceEmitter getServiceEmitter(@Self Supplier<DruidNode> configSupplier, Emitter emitter) { final DruidNode config = configSupplier.get(); final ServiceEmitter retVal = new ServiceEmitter(config.getServiceName(), config.getHost(), emitter); EmittingLogger.registerEmitter(retVal); return retVal; }
@Inject public LookupResourceListenerAnnouncer( Announcer announcer, LookupListeningAnnouncerConfig lookupListeningAnnouncerConfig, @Self DruidNode node ) { super( announcer, lookupListeningAnnouncerConfig, lookupListeningAnnouncerConfig.getLookupKey(), HostAndPortWithScheme.fromString(node.getServiceScheme(), node.getHostAndPortToUse()) ); } }
@Inject public DruidBroker( final FilteredServerInventoryView serverInventoryView, final @Self DruidNode self, final ServiceAnnouncer serviceAnnouncer ) { this.self = self; this.serviceAnnouncer = serviceAnnouncer; serverInventoryView.registerSegmentCallback( MoreExecutors.sameThreadExecutor(), new ServerView.BaseSegmentCallback() { @Override public ServerView.CallbackAction segmentViewInitialized() { serviceAnnouncer.announce(self); return ServerView.CallbackAction.UNREGISTER; } }, // We are not interested in any segment callbacks except view initialization Predicates.<Pair<DruidServerMetadata, DataSegment>>alwaysFalse() ); }
private static Server makeJettyServer(@Self DruidNode node, ServerConfig config) { final QueuedThreadPool threadPool = new QueuedThreadPool(); threadPool.setMinThreads(config.getNumThreads()); threadPool.setMaxThreads(config.getNumThreads()); final Server server = new Server(threadPool); ServerConnector connector = new ServerConnector(server); connector.setPort(node.getPort()); connector.setIdleTimeout(Ints.checkedCast(config.getMaxIdleTime().toStandardDuration().getMillis())); server.setConnectors(new Connector[]{connector}); return server; } }
DruidClusterBridgeConfig config, ScheduledExecutorFactory scheduledExecutorFactory, @Self DruidNode self, CuratorFramework curator, AtomicReference<LeaderLatch> leaderLatch,
@Inject public ForkingTaskRunner( ForkingTaskRunnerConfig config, TaskConfig taskConfig, WorkerConfig workerConfig, Properties props, TaskLogPusher taskLogPusher, ObjectMapper jsonMapper, @Self DruidNode node ) { this.config = config; this.taskConfig = taskConfig; this.props = props; this.taskLogPusher = taskLogPusher; this.jsonMapper = jsonMapper; this.node = node; this.portFinder = new PortFinder(config.getStartPort()); this.tlsPortFinder = new PortFinder(config.getTlsStartPort()); this.exec = MoreExecutors.listeningDecorator( Execs.multiThreaded(workerConfig.getCapacity(), "forking-task-runner-%d") ); }
@Provides @LazySingleton public Worker getWorker(@Self DruidNode node, WorkerConfig config) { return new Worker( node.getServiceScheme(), node.getHostAndPortToUse(), config.getIp(), config.getCapacity(), config.getVersion() ); }
@Provides @ManageLifecycle public ServiceEmitter getServiceEmitter( @Self Supplier<DruidNode> configSupplier, Emitter emitter, @ExtraServiceDimensions Map<String, String> extraServiceDimensions ) { final DruidNode config = configSupplier.get(); log.info("Underlying emitter for ServiceEmitter: %s", emitter); log.info("Extra service dimensions: %s", extraServiceDimensions); final ServiceEmitter retVal = new ServiceEmitter( config.getServiceName(), config.getHostAndPortToUse(), emitter, ImmutableMap.copyOf(extraServiceDimensions) ); EmittingLogger.registerEmitter(retVal); return retVal; }
@Provides @LazySingleton public Server getServer(Injector injector, Lifecycle lifecycle, @Self DruidNode node, ServerConfig config)
@Provides @LazySingleton public DruidServerMetadata getMetadata(@Self DruidNode node, @Nullable NodeTypeConfig nodeType, DruidServerConfig config) { if (nodeType == null) { throw new ProvisionException("Must override the binding for NodeTypeConfig if you want a DruidServerMetadata."); } return new DruidServerMetadata( node.getHost(), node.getHost(), config.getMaxSize(), nodeType.getNodeType(), config.getTier(), config.getPriority() ); } }
final TaskStorage taskStorage, final TaskActionClientFactory taskActionClientFactory, @Self final DruidNode selfNode, final TaskRunnerFactory runnerFactory, final ServiceAnnouncer serviceAnnouncer,