@Inject public TaskSystemTable(TaskManager taskManager, NodeInfo nodeInfo) { this.taskManager = taskManager; this.nodeId = nodeInfo.getNodeId(); }
@Inject public SessionPropertyDefaults(NodeInfo nodeInfo) { this.configurationManagerContext = new SessionPropertyConfigurationManagerContextInstance(nodeInfo.getEnvironment()); }
@Test public void testGetCurrentNode() { Node expected = activeNodes.get(0); NodeInfo nodeInfo = new NodeInfo(new NodeConfig() .setEnvironment("test") .setNodeId(expected.getNodeIdentifier())); DiscoveryNodeManager manager = new DiscoveryNodeManager(selector, nodeInfo, new NoOpFailureDetector(), expectedVersion, testHttpClient, internalCommunicationConfig); assertEquals(manager.getCurrentNode(), expected); }
@GET @Produces(APPLICATION_JSON) public NodeStatus getStatus() { return new NodeStatus( nodeInfo.getNodeId(), version, environment, coordinator, nanosSince(startTime), nodeInfo.getExternalAddress(), nodeInfo.getInternalAddress(), memoryManager.getInfo(), logicalCores, operatingSystemMXBean == null ? 0 : operatingSystemMXBean.getProcessCpuLoad(), operatingSystemMXBean == null ? 0 : operatingSystemMXBean.getSystemCpuLoad(), memoryMXBean.getHeapMemoryUsage().getUsed(), memoryMXBean.getHeapMemoryUsage().getMax(), memoryMXBean.getNonHeapMemoryUsage().getUsed()); } }
public static void start(Module... extraModules) { Bootstrap app = new Bootstrap(ImmutableList.<Module>builder() .add(new NodeModule()) .add(new HttpServerModule()) .add(new JsonModule()) .add(new JaxrsModule(true)) .add(new MBeanModule()) .add(new JmxModule()) .add(new LogJmxModule()) .add(new TraceTokenModule()) .add(new EventModule()) .add(new ProxyModule()) .add(extraModules) .build()); Logger log = Logger.get(PrestoProxy.class); try { app.strictConfig().initialize(); log.info("======== SERVER STARTED ========"); } catch (Throwable t) { log.error(t); System.exit(1); } }
@SuppressWarnings("ResultOfObjectAllocationIgnored") @Test(expectedExceptions = IllegalStateException.class, expectedExceptionsMessageRegExp = ".* current node not returned .*") public void testGetCurrentNodeRequired() { new DiscoveryNodeManager(selector, new NodeInfo("test"), new NoOpFailureDetector(), expectedVersion, testHttpClient, internalCommunicationConfig); } }
@Inject public QueryMonitor( JsonCodec<StageInfo> stageInfoCodec, JsonCodec<OperatorStats> operatorStatsCodec, JsonCodec<ExecutionFailureInfo> executionFailureInfoCodec, EventListenerManager eventListenerManager, NodeInfo nodeInfo, NodeVersion nodeVersion, SessionPropertyManager sessionPropertyManager, Metadata metadata, QueryMonitorConfig config) { this.eventListenerManager = requireNonNull(eventListenerManager, "eventListenerManager is null"); this.stageInfoCodec = requireNonNull(stageInfoCodec, "stageInfoCodec is null"); this.operatorStatsCodec = requireNonNull(operatorStatsCodec, "operatorStatsCodec is null"); this.executionFailureInfoCodec = requireNonNull(executionFailureInfoCodec, "executionFailureInfoCodec is null"); this.serverVersion = requireNonNull(nodeVersion, "nodeVersion is null").toString(); this.serverAddress = requireNonNull(nodeInfo, "nodeInfo is null").getExternalAddress(); this.environment = requireNonNull(nodeInfo, "nodeInfo is null").getEnvironment(); this.sessionPropertyManager = requireNonNull(sessionPropertyManager, "sessionPropertyManager is null"); this.functionRegistry = requireNonNull(metadata, "metadata is null").getFunctionRegistry(); this.maxJsonLimit = toIntExact(requireNonNull(config, "config is null").getMaxOutputStageJsonSize().toBytes()); }
@Override public String getPool() { return nodeInfo.getPool(); }
@Inject public DiscoveryNodeManager( @ServiceType("presto") ServiceSelector serviceSelector, NodeInfo nodeInfo, FailureDetector failureDetector, NodeVersion expectedNodeVersion, @ForNodeManager HttpClient httpClient, InternalCommunicationConfig internalCommunicationConfig) { this.serviceSelector = requireNonNull(serviceSelector, "serviceSelector is null"); this.failureDetector = requireNonNull(failureDetector, "failureDetector is null"); this.expectedNodeVersion = requireNonNull(expectedNodeVersion, "expectedNodeVersion is null"); this.httpClient = requireNonNull(httpClient, "httpClient is null"); this.nodeStateUpdateExecutor = newSingleThreadScheduledExecutor(threadsNamed("node-state-poller-%s")); this.nodeStateEventExecutor = newCachedThreadPool(threadsNamed("node-state-events-%s")); this.httpsRequired = internalCommunicationConfig.isHttpsRequired(); this.currentNode = findCurrentNode( serviceSelector.selectAllServices(), requireNonNull(nodeInfo, "nodeInfo is null").getNodeId(), expectedNodeVersion, httpsRequired); refreshNodesInternal(); }
@Override public ResourceGroupConfigurationManager<VariableMap> create(Map<String, String> config, ResourceGroupConfigurationManagerContext context) { try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) { Bootstrap app = new Bootstrap( new JsonModule(), new H2ResourceGroupsModule(), new NodeModule(), binder -> binder.bind(ResourceGroupConfigurationManagerContext.class).toInstance(context), binder -> binder.bind(ClusterMemoryPoolManager.class).toInstance(context.getMemoryPoolManager())); Injector injector = app .strictConfig() .doNotInitializeLogging() .setRequiredConfigurationProperties(config) .quiet() .initialize(); return injector.getInstance(DbResourceGroupConfigurationManager.class); } catch (Exception e) { throwIfUnchecked(e); throw new RuntimeException(e); } } }
@Inject public ServerInfoResource(NodeVersion nodeVersion, NodeInfo nodeInfo, ServerConfig serverConfig, StaticCatalogStore catalogStore, GracefulShutdownHandler shutdownHandler) { this.version = requireNonNull(nodeVersion, "nodeVersion is null"); this.environment = requireNonNull(nodeInfo, "nodeInfo is null").getEnvironment(); this.coordinator = requireNonNull(serverConfig, "serverConfig is null").isCoordinator(); this.catalogStore = requireNonNull(catalogStore, "catalogStore is null"); this.shutdownHandler = requireNonNull(shutdownHandler, "shutdownHandler is null"); }
public SqlTaskManager createSqlTaskManager(TaskManagerConfig config) { return new SqlTaskManager( createTestingPlanner(), new MockLocationFactory(), taskExecutor, createTestSplitMonitor(), new NodeInfo("test"), localMemoryManager, taskManagementExecutor, config, new NodeMemoryConfig(), localSpillManager, new NodeSpillConfig(), new TestingGcMonitor()); }
.filter(descriptor -> !nodeInfo.getNodeId().equals(descriptor.getNodeId())) .collect(toImmutableSet());
new NodeModule(), new DiscoveryModule(), new HttpServerModule(),
@Inject public StatusResource(NodeVersion nodeVersion, NodeInfo nodeInfo, ServerConfig serverConfig, LocalMemoryManager memoryManager) { this.nodeInfo = requireNonNull(nodeInfo, "nodeInfo is null"); this.version = requireNonNull(nodeVersion, "nodeVersion is null"); this.environment = requireNonNull(nodeInfo, "nodeInfo is null").getEnvironment(); this.coordinator = requireNonNull(serverConfig, "serverConfig is null").isCoordinator(); this.memoryManager = requireNonNull(memoryManager, "memoryManager is null"); this.memoryMXBean = ManagementFactory.getMemoryMXBean(); this.logicalCores = Runtime.getRuntime().availableProcessors(); if (ManagementFactory.getOperatingSystemMXBean() instanceof OperatingSystemMXBean) { // we want the com.sun.management sub-interface of java.lang.management.OperatingSystemMXBean this.operatingSystemMXBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean(); } }
this.joinFilterFunctionCompiler = new JoinFilterFunctionCompiler(metadata); NodeInfo nodeInfo = new NodeInfo("test"); this.connectorManager = new ConnectorManager( metadata,
taskId, locationFactory.createLocalTaskLocation(taskId), nodeInfo.getNodeId(), queryContexts.getUnchecked(taskId.getQueryId()), sqlTaskExecutionFactory,
@Inject public InternalResourceGroupManager(LegacyResourceGroupConfigurationManager legacyManager, ClusterMemoryPoolManager memoryPoolManager, NodeInfo nodeInfo, MBeanExporter exporter) { this.exporter = requireNonNull(exporter, "exporter is null"); this.configurationManagerContext = new ResourceGroupConfigurationManagerContextInstance(memoryPoolManager, nodeInfo.getEnvironment()); this.legacyManager = requireNonNull(legacyManager, "legacyManager is null"); this.configurationManager = new AtomicReference<>(cast(legacyManager)); }
@BeforeMethod public void setup() { testHttpClient = new TestingHttpClient(input -> new TestingResponse(OK, ArrayListMultimap.create(), ACTIVE.name().getBytes())); expectedVersion = new NodeVersion("1"); coordinator = new PrestoNode(UUID.randomUUID().toString(), URI.create("https://192.0.2.8"), expectedVersion, false); activeNodes = ImmutableList.of( new PrestoNode(nodeInfo.getNodeId(), URI.create("http://192.0.1.1"), expectedVersion, false), new PrestoNode(UUID.randomUUID().toString(), URI.create("http://192.0.2.1:8080"), expectedVersion, false), new PrestoNode(UUID.randomUUID().toString(), URI.create("http://192.0.2.3"), expectedVersion, false), coordinator); inactiveNodes = ImmutableList.of( new PrestoNode(UUID.randomUUID().toString(), URI.create("https://192.0.3.9"), NodeVersion.UNKNOWN, false), new PrestoNode(UUID.randomUUID().toString(), URI.create("https://192.0.4.9"), new NodeVersion("2"), false)); List<ServiceDescriptor> descriptors = new ArrayList<>(); for (PrestoNode node : Iterables.concat(activeNodes, inactiveNodes)) { descriptors.add(serviceDescriptor("presto") .setNodeId(node.getNodeIdentifier()) .addProperty("http", node.getHttpUri().toString()) .addProperty("node_version", node.getNodeVersion().toString()) .addProperty("coordinator", String.valueOf(node.equals(coordinator))) .build()); } selector = new StaticServiceSelector(descriptors); }
private Connector createConnector(ConnectorId connectorId, ConnectorFactory factory, Map<String, String> properties) { ConnectorContext context = new ConnectorContextInstance( new ConnectorAwareNodeManager(nodeManager, nodeInfo.getEnvironment(), connectorId), typeManager, pageSorter, pageIndexerFactory); try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(factory.getClass().getClassLoader())) { return factory.create(connectorId.getCatalogName(), properties, context); } }