Search in sources :

Example 1 with IngestInfo

use of org.opensearch.ingest.IngestInfo in project OpenSearch by opensearch-project.

the class PutPipelineTransportAction method masterOperation.

@Override
protected void masterOperation(PutPipelineRequest request, ClusterState state, ActionListener<AcknowledgedResponse> listener) throws Exception {
    NodesInfoRequest nodesInfoRequest = new NodesInfoRequest();
    nodesInfoRequest.clear().addMetric(NodesInfoRequest.Metric.INGEST.metricName());
    client.admin().cluster().nodesInfo(nodesInfoRequest, ActionListener.wrap(nodeInfos -> {
        Map<DiscoveryNode, IngestInfo> ingestInfos = new HashMap<>();
        for (NodeInfo nodeInfo : nodeInfos.getNodes()) {
            ingestInfos.put(nodeInfo.getNode(), nodeInfo.getInfo(IngestInfo.class));
        }
        ingestService.putPipeline(ingestInfos, request, listener);
    }, listener::onFailure));
}
Also used : StreamInput(org.opensearch.common.io.stream.StreamInput) IngestService(org.opensearch.ingest.IngestService) NodeClient(org.opensearch.client.node.NodeClient) NodesInfoRequest(org.opensearch.action.admin.cluster.node.info.NodesInfoRequest) ClusterBlockLevel(org.opensearch.cluster.block.ClusterBlockLevel) ThreadPool(org.opensearch.threadpool.ThreadPool) ClusterBlockException(org.opensearch.cluster.block.ClusterBlockException) IOException(java.io.IOException) HashMap(java.util.HashMap) TransportMasterNodeAction(org.opensearch.action.support.master.TransportMasterNodeAction) TransportService(org.opensearch.transport.TransportService) INGEST_ORIGIN(org.opensearch.ingest.IngestService.INGEST_ORIGIN) AcknowledgedResponse(org.opensearch.action.support.master.AcknowledgedResponse) ActionFilters(org.opensearch.action.support.ActionFilters) ClusterState(org.opensearch.cluster.ClusterState) DiscoveryNode(org.opensearch.cluster.node.DiscoveryNode) NodeInfo(org.opensearch.action.admin.cluster.node.info.NodeInfo) Map(java.util.Map) IngestInfo(org.opensearch.ingest.IngestInfo) Inject(org.opensearch.common.inject.Inject) ActionListener(org.opensearch.action.ActionListener) OriginSettingClient(org.opensearch.client.OriginSettingClient) IndexNameExpressionResolver(org.opensearch.cluster.metadata.IndexNameExpressionResolver) NodeInfo(org.opensearch.action.admin.cluster.node.info.NodeInfo) NodesInfoRequest(org.opensearch.action.admin.cluster.node.info.NodesInfoRequest) HashMap(java.util.HashMap) Map(java.util.Map)

Example 2 with IngestInfo

use of org.opensearch.ingest.IngestInfo in project OpenSearch by opensearch-project.

the class NodeInfoStreamingTests method createNodeInfo.

private static NodeInfo createNodeInfo() {
    Build build = Build.CURRENT;
    DiscoveryNode node = new DiscoveryNode("test_node", buildNewFakeTransportAddress(), emptyMap(), emptySet(), VersionUtils.randomVersion(random()));
    Settings settings = randomBoolean() ? null : Settings.builder().put("test", "setting").build();
    OsInfo osInfo = null;
    if (randomBoolean()) {
        int availableProcessors = randomIntBetween(1, 64);
        int allocatedProcessors = randomIntBetween(1, availableProcessors);
        long refreshInterval = randomBoolean() ? -1 : randomNonNegativeLong();
        String name = randomAlphaOfLengthBetween(3, 10);
        String arch = randomAlphaOfLengthBetween(3, 10);
        String version = randomAlphaOfLengthBetween(3, 10);
        osInfo = new OsInfo(refreshInterval, availableProcessors, allocatedProcessors, name, name, arch, version);
    }
    ProcessInfo process = randomBoolean() ? null : new ProcessInfo(randomInt(), randomBoolean(), randomNonNegativeLong());
    JvmInfo jvm = randomBoolean() ? null : JvmInfo.jvmInfo();
    ThreadPoolInfo threadPoolInfo = null;
    if (randomBoolean()) {
        int numThreadPools = randomIntBetween(1, 10);
        List<ThreadPool.Info> threadPoolInfos = new ArrayList<>(numThreadPools);
        for (int i = 0; i < numThreadPools; i++) {
            threadPoolInfos.add(new ThreadPool.Info(randomAlphaOfLengthBetween(3, 10), randomFrom(ThreadPool.ThreadPoolType.values()), randomInt()));
        }
        threadPoolInfo = new ThreadPoolInfo(threadPoolInfos);
    }
    Map<String, BoundTransportAddress> profileAddresses = new HashMap<>();
    BoundTransportAddress dummyBoundTransportAddress = new BoundTransportAddress(new TransportAddress[] { buildNewFakeTransportAddress() }, buildNewFakeTransportAddress());
    profileAddresses.put("test_address", dummyBoundTransportAddress);
    TransportInfo transport = randomBoolean() ? null : new TransportInfo(dummyBoundTransportAddress, profileAddresses);
    HttpInfo httpInfo = randomBoolean() ? null : new HttpInfo(dummyBoundTransportAddress, randomNonNegativeLong());
    PluginsAndModules pluginsAndModules = null;
    if (randomBoolean()) {
        int numPlugins = randomIntBetween(0, 5);
        List<PluginInfo> plugins = new ArrayList<>();
        for (int i = 0; i < numPlugins; i++) {
            String name = randomAlphaOfLengthBetween(3, 10);
            plugins.add(new PluginInfo(name, randomAlphaOfLengthBetween(3, 10), randomAlphaOfLengthBetween(3, 10), VersionUtils.randomVersion(random()), "1.8", randomAlphaOfLengthBetween(3, 10), name, Collections.emptyList(), randomBoolean()));
        }
        int numModules = randomIntBetween(0, 5);
        List<PluginInfo> modules = new ArrayList<>();
        for (int i = 0; i < numModules; i++) {
            String name = randomAlphaOfLengthBetween(3, 10);
            modules.add(new PluginInfo(name, randomAlphaOfLengthBetween(3, 10), randomAlphaOfLengthBetween(3, 10), VersionUtils.randomVersion(random()), "1.8", randomAlphaOfLengthBetween(3, 10), name, Collections.emptyList(), randomBoolean()));
        }
        pluginsAndModules = new PluginsAndModules(plugins, modules);
    }
    IngestInfo ingestInfo = null;
    if (randomBoolean()) {
        int numProcessors = randomIntBetween(0, 5);
        List<ProcessorInfo> processors = new ArrayList<>(numProcessors);
        for (int i = 0; i < numProcessors; i++) {
            processors.add(new ProcessorInfo(randomAlphaOfLengthBetween(3, 10)));
        }
        ingestInfo = new IngestInfo(processors);
    }
    AggregationInfo aggregationInfo = null;
    if (randomBoolean()) {
        AggregationUsageService.Builder builder = new AggregationUsageService.Builder();
        int numOfAggs = randomIntBetween(0, 10);
        for (int i = 0; i < numOfAggs; i++) {
            String aggName = randomAlphaOfLength(10);
            try {
                if (randomBoolean()) {
                    builder.registerAggregationUsage(aggName);
                } else {
                    int numOfTypes = randomIntBetween(1, 10);
                    for (int j = 0; j < numOfTypes; j++) {
                        builder.registerAggregationUsage(aggName, randomAlphaOfLength(10));
                    }
                }
            } catch (IllegalArgumentException ex) {
            // Ignore duplicate strings
            }
        }
        aggregationInfo = builder.build().info();
    }
    ByteSizeValue indexingBuffer = null;
    if (randomBoolean()) {
        // pick a random long that sometimes exceeds an int:
        indexingBuffer = new ByteSizeValue(random().nextLong() & ((1L << 40) - 1));
    }
    return new NodeInfo(VersionUtils.randomVersion(random()), build, node, settings, osInfo, process, jvm, threadPoolInfo, transport, httpInfo, pluginsAndModules, ingestInfo, aggregationInfo, indexingBuffer);
}
Also used : DiscoveryNode(org.opensearch.cluster.node.DiscoveryNode) JvmInfo(org.opensearch.monitor.jvm.JvmInfo) ProcessorInfo(org.opensearch.ingest.ProcessorInfo) HashMap(java.util.HashMap) PluginsAndModules(org.opensearch.action.admin.cluster.node.info.PluginsAndModules) XContentFactory.jsonBuilder(org.opensearch.common.xcontent.XContentFactory.jsonBuilder) XContentBuilder(org.opensearch.common.xcontent.XContentBuilder) ArrayList(java.util.ArrayList) ThreadPool(org.opensearch.threadpool.ThreadPool) ByteSizeValue(org.opensearch.common.unit.ByteSizeValue) HttpInfo(org.opensearch.http.HttpInfo) OsInfo(org.opensearch.monitor.os.OsInfo) Build(org.opensearch.Build) IngestInfo(org.opensearch.ingest.IngestInfo) PluginInfo(org.opensearch.plugins.PluginInfo) AggregationInfo(org.opensearch.search.aggregations.support.AggregationInfo) Settings(org.opensearch.common.settings.Settings) ThreadPoolInfo(org.opensearch.threadpool.ThreadPoolInfo) TransportInfo(org.opensearch.transport.TransportInfo) ProcessInfo(org.opensearch.monitor.process.ProcessInfo) ProcessorInfo(org.opensearch.ingest.ProcessorInfo) HttpInfo(org.opensearch.http.HttpInfo) PluginInfo(org.opensearch.plugins.PluginInfo) TransportInfo(org.opensearch.transport.TransportInfo) JvmInfo(org.opensearch.monitor.jvm.JvmInfo) IngestInfo(org.opensearch.ingest.IngestInfo) OsInfo(org.opensearch.monitor.os.OsInfo) AggregationInfo(org.opensearch.search.aggregations.support.AggregationInfo) ThreadPoolInfo(org.opensearch.threadpool.ThreadPoolInfo) ProcessInfo(org.opensearch.monitor.process.ProcessInfo) NodeInfo(org.opensearch.action.admin.cluster.node.info.NodeInfo) AggregationUsageService(org.opensearch.search.aggregations.support.AggregationUsageService) NodeInfo(org.opensearch.action.admin.cluster.node.info.NodeInfo) BoundTransportAddress(org.opensearch.common.transport.BoundTransportAddress)

Aggregations

HashMap (java.util.HashMap)2 NodeInfo (org.opensearch.action.admin.cluster.node.info.NodeInfo)2 DiscoveryNode (org.opensearch.cluster.node.DiscoveryNode)2 IngestInfo (org.opensearch.ingest.IngestInfo)2 ThreadPool (org.opensearch.threadpool.ThreadPool)2 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 Map (java.util.Map)1 Build (org.opensearch.Build)1 ActionListener (org.opensearch.action.ActionListener)1 NodesInfoRequest (org.opensearch.action.admin.cluster.node.info.NodesInfoRequest)1 PluginsAndModules (org.opensearch.action.admin.cluster.node.info.PluginsAndModules)1 ActionFilters (org.opensearch.action.support.ActionFilters)1 AcknowledgedResponse (org.opensearch.action.support.master.AcknowledgedResponse)1 TransportMasterNodeAction (org.opensearch.action.support.master.TransportMasterNodeAction)1 OriginSettingClient (org.opensearch.client.OriginSettingClient)1 NodeClient (org.opensearch.client.node.NodeClient)1 ClusterState (org.opensearch.cluster.ClusterState)1 ClusterBlockException (org.opensearch.cluster.block.ClusterBlockException)1 ClusterBlockLevel (org.opensearch.cluster.block.ClusterBlockLevel)1