Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] RegisterModelStep / DeployModelStep Improvements #108

Closed
2 of 3 tasks
joshpalis opened this issue Oct 19, 2023 · 10 comments
Closed
2 of 3 tasks

[FEATURE] RegisterModelStep / DeployModelStep Improvements #108

joshpalis opened this issue Oct 19, 2023 · 10 comments
Assignees
Labels
enhancement New feature or request

Comments

@joshpalis
Copy link
Member

joshpalis commented Oct 19, 2023

Is your feature request related to a problem?

In an effort to address any issues/gaps with the current step implementations, this issue is to track necessary modifications for the RegisterModelStep and DeployModelStep

Context

In order to use the register and deploy model APIs, it is first necessary to install the ML Commons plugin prior to installing the Flow Framework Plugin.

These steps were tested prior to the availability of the CreateConnectorStep, so the create connector API was invoked to get the connector_id prior to invoking the RestCreateWorkflowAction, since it is a necessary input of the RegisterModelStep

The following use case template was used to test out register and deploy model :

{
   "name": "deploy-register-model",
    "description": "test case",
    "use_case": "SEMANTIC_SEARCH",
    "operations": [
        "PROVISION"
    ],
    "version": {
        "template": "1.0.0",
        "compatibility": [
            "2.12.0",
            "3.0.0"
        ]
    },
    "user_inputs": {},
    "workflows": {
        "provision": {
            "nodes": [
                {
                    "id": "workflow_step_1",
                    "type": "register_model",
                    "inputs": {
                      "name": "openAI-gpt-3.5-turbo",
                      "function_name": "remote",
                      "description": "test model",
                      "connector_id": "8SQESosBvqMC0I7jNGsk"
                    }
                },
                {
                    "id": "workflow_step_2",
                    "type": "deploy_model",
                    "inputs": {
                      "model_id": {}
                    }
                }
            ],
            "edges": [{
                "source": "workflow_step_1",
                "dest": "workflow_step_2"
            }]
        }
    }
}

Logs for creating and provisioning a workflow :

dev-dsk-jpalis-2c-27c8aa11 % curl -i -XPOST "localhost:9200/_plugins/_flow_framework/workflow" -H "Content-Type:application/json" --data '{"name":"deploy-register-model","description":"test case","use_case":"SEMANTIC_SEARCH","operations":["PROVISION"],"version":{"template":"1.0.0","compatibility":["2.12.0","3.0.0"]},"user_inputs":{},"workflows":{"provision":{"nodes":[{"id":"workflow_step_1","type":"register_model","inputs":{"name":"openAI-gpt-3.5-turbo","function_name":"remote","description":"test model","connector_id":"Q9ULSosBOUiUyTeEzrft"}},{"id":"workflow_step_2","type":"deploy_model","inputs":{}}],"edges":[{"source":"workflow_step_1","dest":"workflow_step_2"}]}}}'
HTTP/1.1 201 Created
X-OpenSearch-Version: OpenSearch/3.0.0-SNAPSHOT (opensearch)
content-type: application/json; charset=UTF-8
content-length: 38

{"workflow_id":"RNUMSosBOUiUyTeEdbeS"}%                                                                                                                                 

(23-10-19 22:26:52) <0> [~/repos/ai-flow-framework/opensearch-ai-flow-framework]  
dev-dsk-jpalis-2c-27c8aa11 % curl -i -XPOST "localhost:9200/_plugins/_flow_framework/workflow/RNUMSosBOUiUyTeEdbeS/_provision"
HTTP/1.1 200 OK
X-OpenSearch-Version: OpenSearch/3.0.0-SNAPSHOT (opensearch)
content-type: application/json; charset=UTF-8
content-length: 38

{"workflow_id":"RNUMSosBOUiUyTeEdbeS"}%     

OpenSearch Logs

[2023-10-19T22:25:56,258][INFO ][o.o.n.Node               ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] started
[2023-10-19T22:25:56,268][INFO ][o.o.g.GatewayService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] recovered [0] indices into cluster_state
[2023-10-19T22:26:06,305][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-config/ebDKP8fOTF-jNq6UH7Xnxg]
[2023-10-19T22:26:06,451][INFO ][o.o.c.m.MetadataCreateIndexService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] [.plugins-ml-config] creating index, cause [api], templates [], shards [1]/[1]
[2023-10-19T22:26:06,458][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] updating number_of_replicas to [0] for indices [.plugins-ml-config]
[2023-10-19T22:26:06,511][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-config/ebDKP8fOTF-jNq6UH7Xnxg]
[2023-10-19T22:26:06,681][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.plugins-ml-config][0]]]).
[2023-10-19T22:26:06,712][INFO ][o.o.m.i.MLIndicesHandler ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] create index:.plugins-ml-config
[2023-10-19T22:26:06,808][INFO ][o.o.m.c.MLSyncUpCron     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] ML configuration initialized successfully
[2023-10-19T22:26:09,431][INFO ][o.r.Reflections          ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Reflections took 9 ms to scan 1 urls, producing 6 keys and 34 values 
[2023-10-19T22:26:09,440][INFO ][o.r.Reflections          ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Reflections took 5 ms to scan 1 urls, producing 8 keys and 38 values 
[2023-10-19T22:26:09,445][INFO ][o.r.Reflections          ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Reflections took 2 ms to scan 1 urls, producing 5 keys and 14 values 
[2023-10-19T22:26:09,450][INFO ][o.r.Reflections          ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Reflections took 2 ms to scan 1 urls, producing 3 keys and 8 values 
[2023-10-19T22:26:09,454][INFO ][o.r.Reflections          ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Reflections took 2 ms to scan 1 urls, producing 5 keys and 15 values 
[2023-10-19T22:26:09,463][INFO ][o.r.Reflections          ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Reflections took 6 ms to scan 1 urls, producing 11 keys and 49 values 
[2023-10-19T22:26:09,468][INFO ][o.r.Reflections          ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Reflections took 2 ms to scan 1 urls, producing 8 keys and 11 values 
[2023-10-19T22:26:09,639][INFO ][o.o.m.a.c.TransportCreateConnectorAction] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] connector created, indexing into the connector system index
[2023-10-19T22:26:09,645][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-connector/9GSoYfQeQCe1FOqYrryMqQ]
[2023-10-19T22:26:09,668][INFO ][o.o.c.m.MetadataCreateIndexService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] [.plugins-ml-connector] creating index, cause [api], templates [], shards [1]/[1]
[2023-10-19T22:26:09,670][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] updating number_of_replicas to [0] for indices [.plugins-ml-connector]
[2023-10-19T22:26:09,695][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-connector/9GSoYfQeQCe1FOqYrryMqQ]
[2023-10-19T22:26:09,748][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.plugins-ml-connector][0]]]).
[2023-10-19T22:26:09,771][INFO ][o.o.m.i.MLIndicesHandler ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] create index:.plugins-ml-connector
[2023-10-19T22:26:09,806][INFO ][o.o.m.a.c.TransportCreateConnectorAction] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Connector saved into index, result:CREATED, connector id: Q9ULSosBOUiUyTeEzrft
[2023-10-19T22:26:52,342][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ai-global-context/3KrBy1LmTd2v-WL_xyEu-A]
[2023-10-19T22:26:52,349][INFO ][o.o.c.m.MetadataCreateIndexService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] [.plugins-ai-global-context] creating index, cause [api], templates [], shards [1]/[1]
[2023-10-19T22:26:52,350][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] updating number_of_replicas to [0] for indices [.plugins-ai-global-context]
[2023-10-19T22:26:52,372][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ai-global-context/3KrBy1LmTd2v-WL_xyEu-A]
[2023-10-19T22:26:52,415][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.plugins-ai-global-context][0]]]).
[2023-10-19T22:26:52,432][INFO ][o.o.f.w.CreateIndexStep  ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] create index:.plugins-ai-global-context
[2023-10-19T22:27:16,658][INFO ][o.o.f.t.ProvisionWorkflowTransportAction] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Queueing process [workflow_step_1]. Can start immediately!
[2023-10-19T22:27:16,659][INFO ][o.o.f.t.ProvisionWorkflowTransportAction] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Queueing process [workflow_step_2]. Must wait for [workflow_step_1] to complete first.
[2023-10-19T22:27:16,659][INFO ][o.o.f.w.ProcessNode      ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Starting workflow_step_1.
[2023-10-19T22:27:16,682][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-model-group/PnqmdVCHRCyuJ1Kzl89rXg]
[2023-10-19T22:27:16,689][INFO ][o.o.c.m.MetadataCreateIndexService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] [.plugins-ml-model-group] creating index, cause [api], templates [], shards [1]/[1]
[2023-10-19T22:27:16,690][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] updating number_of_replicas to [0] for indices [.plugins-ml-model-group]
[2023-10-19T22:27:16,712][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-model-group/PnqmdVCHRCyuJ1Kzl89rXg]
[2023-10-19T22:27:16,756][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.plugins-ml-model-group][0]]]).
[2023-10-19T22:27:16,777][INFO ][o.o.m.i.MLIndicesHandler ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] create index:.plugins-ml-model-group
[2023-10-19T22:27:16,795][INFO ][stdout                   ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] registering the model
[2023-10-19T22:27:16,799][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-task/iYeZxGoFTseUYRRerSa6WA]
[2023-10-19T22:27:16,808][INFO ][o.o.c.m.MetadataCreateIndexService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] [.plugins-ml-task] creating index, cause [api], templates [], shards [1]/[1]
[2023-10-19T22:27:16,809][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] updating number_of_replicas to [0] for indices [.plugins-ml-task]
[2023-10-19T22:27:16,830][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-task/iYeZxGoFTseUYRRerSa6WA]
[2023-10-19T22:27:16,874][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.plugins-ml-task][0]]]).
[2023-10-19T22:27:16,892][INFO ][o.o.m.i.MLIndicesHandler ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] create index:.plugins-ml-task
[2023-10-19T22:27:16,953][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-model/R1CKhwWJTkuJIiyseaF7fA]
[2023-10-19T22:27:16,964][INFO ][o.o.c.m.MetadataCreateIndexService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] [.plugins-ml-model] creating index, cause [api], templates [], shards [1]/[1]
[2023-10-19T22:27:16,965][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] updating number_of_replicas to [0] for indices [.plugins-ml-model]
[2023-10-19T22:27:16,987][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-model/R1CKhwWJTkuJIiyseaF7fA]
[2023-10-19T22:27:17,033][INFO ][o.o.c.r.a.AllocationService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.plugins-ml-model][0]]]).
[2023-10-19T22:27:17,054][INFO ][o.o.m.i.MLIndicesHandler ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] create index:.plugins-ml-model
[2023-10-19T22:27:17,067][INFO ][o.o.p.PluginsService     ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] PluginService:onIndexModule index:[.plugins-ml-model/R1CKhwWJTkuJIiyseaF7fA]
[2023-10-19T22:27:17,082][INFO ][o.o.c.m.MetadataMappingService] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] [.plugins-ml-model/R1CKhwWJTkuJIiyseaF7fA] update_mapping [_doc]
[2023-10-19T22:27:17,122][INFO ][o.o.m.m.MLModelManager   ] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] create new model meta doc R9UMSosBOUiUyTeE1bfB for upload task RtUMSosBOUiUyTeE1bce
[2023-10-19T22:27:17,123][ERROR][o.o.f.w.RegisterModelStep] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Failed to register model
[2023-10-19T22:27:17,124][ERROR][o.o.f.t.ProvisionWorkflowTransportAction] [dev-dsk-jpalis-2c-27c8aa11.us-west-2.amazon.com] Provisioning failed for workflow RNUMSosBOUiUyTeEdbeS : org.opensearch.flowframework.exception.FlowFrameworkException: java.util.concurrent.ExecutionException: org.opensearch.flowframework.exception.FlowFrameworkException: class org.opensearch.ml.common.transport.register.MLRegisterModelResponse cannot be cast to class org.opensearch.ml.common.transport.register.MLRegisterModelResponse (org.opensearch.ml.common.transport.register.MLRegisterModelResponse is in unnamed module of loader java.net.FactoryURLClassLoader @2c58dcb1; org.opensearch.ml.common.transport.register.MLRegisterModelResponse is in unnamed module of loader java.net.FactoryURLClassLoader @5527b211)

Action Items

  • The use case template shown above omits the model_id input for the DeployModelStep, which is an output of the RegisterModelStep. Currently, the DeployModelStep works fine without specifying the model_id input on the use case template, but as a builder, it will be confusing without a placeholder. It will be necessary to determine what format dependent inputs for each step should look like on a use case template (Handled by Modifies use case template format and adds graph validation when provisioning #119)
  • It is necessary for the ML Commons plugin to be installed first in order to use the RegisterModelStep and DeployModelStep since these steps utilize that plugin's APIs. We can set ML Commons Plugin to be an extendedPlugin within our build.gradle so that installation of the FlowFrameworkPlugin requires ML Commons to be installed first, but this would require the installation of that plugin even for use cases that don't require those associated WorkflowSteps. ( @dbwiddis I think its important for us to discuss how we want to handle dependencies on different plugins)
  • The RegisterModelStep completes exceptionally due to the above error, though the logs indicate that the model has been successfully registered on the ML Commons side. Fixed by fix register client API ml-commons#1560
@dbwiddis
Copy link
Member

It is necessary for the ML Commons plugin to be installed first in order to use the RegisterModelStep and DeployModelStep since these steps utilize that plugin's APIs

I'm unclear what this means.

I thought we were taking a dependency on the MLClient separately, and we don't actually call any APIs during installation of the plugin. What exactly is the problem?

@owaiskazi19
Copy link
Member

owaiskazi19 commented Oct 25, 2023

annotationProcessor - Annotation processors and their dependencies for source set 'main'.
No dependencies

api - API dependencies for the 'main' feature. (n)
\--- org.opensearch:opensearch-ml-client:3.0.0.0-SNAPSHOT (n)

apiElements - API elements for the 'main' feature. (n)
No dependencies

checkstyle - The Checkstyle libraries to be used for this project.
\--- com.puppycrawl.tools:checkstyle:9.3
     +--- info.picocli:picocli:4.6.2
     +--- org.antlr:antlr4-runtime:4.9.3
     +--- commons-beanutils:commons-beanutils:1.9.4
     |    \--- commons-collections:commons-collections:3.2.2
     +--- com.google.guava:guava:31.0.1-jre -> 32.1.3-jre
     |    +--- com.google.guava:failureaccess:1.0.1
     |    +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
     |    +--- com.google.code.findbugs:jsr305:3.0.2
     |    +--- org.checkerframework:checker-qual:3.37.0
     |    \--- com.google.errorprone:error_prone_annotations:2.21.1
     +--- org.reflections:reflections:0.10.2
     |    +--- org.javassist:javassist:3.28.0-GA
     |    \--- com.google.code.findbugs:jsr305:3.0.2
     \--- net.sf.saxon:Saxon-HE:10.6

compileClasspath - Compile classpath for source set 'main'.
+--- org.opensearch:opensearch-ml-client:3.0.0.0-SNAPSHOT
+--- org.opensearch:opensearch:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    |    \--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.opensearch:opensearch-compress:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    \--- com.github.luben:zstd-jni:1.5.5-5
|    +--- org.opensearch:opensearch-secure-sm:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-x-content:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    +--- org.yaml:snakeyaml:2.1
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2
|    |    \--- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.2
|    +--- org.opensearch:opensearch-geo:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-analysis-common:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-backward-codecs:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-grouping:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-highlighter:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-join:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-memory:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-misc:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queries:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queryparser:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-sandbox:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial-extras:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial3d:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-suggest:9.8.0-snapshot-4373c3b
|    +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT
|    |    +--- net.sf.jopt-simple:jopt-simple:5.0.4
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- joda-time:joda-time:2.12.2
|    +--- com.tdunning:t-digest:3.3
|    +--- org.hdrhistogram:HdrHistogram:2.1.12
|    +--- org.locationtech.spatial4j:spatial4j:0.7
|    +--- org.locationtech.jts:jts-core:1.15.0
|    +--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.apache.logging.log4j:log4j-jul:2.20.0
|    +--- org.apache.logging.log4j:log4j-core:2.20.0
|    +--- net.java.dev.jna:jna:5.5.0
|    +--- com.jcraft:jzlib:1.1.3
|    +--- com.google.protobuf:protobuf-java:3.22.3
|    \--- jakarta.annotation:jakarta.annotation-api:1.3.5
+--- org.locationtech.spatial4j:spatial4j:0.7
+--- org.locationtech.jts:jts-core:1.15.0
+--- org.apache.logging.log4j:log4j-api:2.20.0
+--- org.apache.logging.log4j:log4j-core:2.20.0
+--- net.java.dev.jna:jna:5.5.0
+--- org.junit.jupiter:junit-jupiter:5.10.0
\--- com.google.guava:guava:32.1.3-jre

compileOnly - Compile-only dependencies for the 'main' feature. (n)
+--- org.opensearch:opensearch:3.0.0-SNAPSHOT (n)
+--- org.locationtech.spatial4j:spatial4j:0.7 (n)
+--- org.locationtech.jts:jts-core:1.15.0 (n)
+--- org.apache.logging.log4j:log4j-api:2.20.0 (n)
+--- org.apache.logging.log4j:log4j-core:2.20.0 (n)
\--- net.java.dev.jna:jna:5.5.0 (n)

compileOnlyApi - Compile-only API dependencies for the 'main' feature. (n)
No dependencies

coverageDataElementsForTest - Binary data file containing results of Jacoco test coverage reporting for the test Test Suite's test target. (n)
No dependencies

default - Configuration for default artifacts. (n)
No dependencies

forbiddenApisCliJar
\--- de.thetaphi:forbiddenapis:3.5.1

implementation - Implementation dependencies for the 'main' feature. (n)
+--- org.opensearch:opensearch:3.0.0-SNAPSHOT (n)
+--- org.junit.jupiter:junit-jupiter:5.10.0 (n)
\--- com.google.guava:guava:32.1.3-jre (n)

jacocoAgent - The Jacoco agent to use to get coverage data.
\--- org.jacoco:org.jacoco.agent:0.8.9

jacocoAnt - The Jacoco ant tasks to use to get execute Gradle tasks.
\--- org.jacoco:org.jacoco.ant:0.8.9
     +--- org.jacoco:org.jacoco.core:0.8.9
     |    +--- org.ow2.asm:asm:9.5
     |    +--- org.ow2.asm:asm-commons:9.5
     |    |    +--- org.ow2.asm:asm:9.5
     |    |    \--- org.ow2.asm:asm-tree:9.5
     |    |         \--- org.ow2.asm:asm:9.5
     |    \--- org.ow2.asm:asm-tree:9.5 (*)
     +--- org.jacoco:org.jacoco.report:0.8.9
     |    \--- org.jacoco:org.jacoco.core:0.8.9 (*)
     \--- org.jacoco:org.jacoco.agent:0.8.9

jarHell
No dependencies

jdkJarHell
No dependencies

loggerUsagePlugin
\--- org.opensearch.test:logger-usage:3.0.0-SNAPSHOT FAILED

mainSourceElements - List of source directories contained in the Main SourceSet. (n)
No dependencies

opensearch_distro_extracted_testclusters--integTest-0-3.0.0-SNAPSHOT-
\--- opensearch-distribution-snapshot:opensearch:3.0.0-SNAPSHOT

opensearch_distro_extracted_testclusters--yamlRestTest-0-3.0.0-SNAPSHOT-
\--- org.opensearch.distribution.integ-test-zip:opensearch:3.0.0-SNAPSHOT

opensearch_distro_file_testclusters--integTest-0-3.0.0-SNAPSHOT-
\--- opensearch-distribution-snapshot:opensearch:3.0.0-SNAPSHOT

opensearch_distro_file_testclusters--yamlRestTest-0-3.0.0-SNAPSHOT-
\--- org.opensearch.distribution.integ-test-zip:opensearch:3.0.0-SNAPSHOT

resolveableCompileOnly
+--- org.opensearch:opensearch:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    |    \--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.opensearch:opensearch-compress:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    \--- com.github.luben:zstd-jni:1.5.5-5
|    +--- org.opensearch:opensearch-secure-sm:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-x-content:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    +--- org.yaml:snakeyaml:2.1
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2
|    |    \--- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.2
|    +--- org.opensearch:opensearch-geo:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-analysis-common:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-backward-codecs:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-grouping:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-highlighter:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-join:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-memory:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-misc:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queries:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queryparser:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-sandbox:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial-extras:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial3d:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-suggest:9.8.0-snapshot-4373c3b
|    +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT
|    |    +--- net.sf.jopt-simple:jopt-simple:5.0.4
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- joda-time:joda-time:2.12.2
|    +--- com.tdunning:t-digest:3.3
|    +--- org.hdrhistogram:HdrHistogram:2.1.12
|    +--- org.locationtech.spatial4j:spatial4j:0.7
|    +--- org.locationtech.jts:jts-core:1.15.0
|    +--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.apache.logging.log4j:log4j-jul:2.20.0
|    +--- org.apache.logging.log4j:log4j-core:2.20.0
|    +--- net.java.dev.jna:jna:5.5.0
|    +--- com.jcraft:jzlib:1.1.3
|    +--- com.google.protobuf:protobuf-java:3.22.3
|    \--- jakarta.annotation:jakarta.annotation-api:1.3.5
+--- org.locationtech.spatial4j:spatial4j:0.7
+--- org.locationtech.jts:jts-core:1.15.0
+--- org.apache.logging.log4j:log4j-api:2.20.0
+--- org.apache.logging.log4j:log4j-core:2.20.0
\--- net.java.dev.jna:jna:5.5.0

restSpec
\--- org.opensearch:rest-api-spec:3.0.0-SNAPSHOT

restSpecs
No dependencies

restTestConfig
\--- org.opensearch:rest-api-spec:3.0.0-SNAPSHOT

restTests
No dependencies

runtimeClasspath - Runtime classpath of source set 'main'.
+--- org.opensearch:opensearch-ml-client:3.0.0.0-SNAPSHOT
+--- org.opensearch:opensearch:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    |    \--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.opensearch:opensearch-compress:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    \--- com.github.luben:zstd-jni:1.5.5-5
|    +--- org.opensearch:opensearch-secure-sm:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-x-content:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    +--- org.yaml:snakeyaml:2.1
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2
|    |    \--- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.2
|    +--- org.opensearch:opensearch-geo:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-analysis-common:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-backward-codecs:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-grouping:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-highlighter:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-join:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-memory:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-misc:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queries:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queryparser:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-sandbox:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial-extras:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial3d:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-suggest:9.8.0-snapshot-4373c3b
|    +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT
|    |    +--- net.sf.jopt-simple:jopt-simple:5.0.4
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- joda-time:joda-time:2.12.2
|    +--- com.tdunning:t-digest:3.3
|    +--- org.hdrhistogram:HdrHistogram:2.1.12
|    +--- org.locationtech.spatial4j:spatial4j:0.7
|    +--- org.locationtech.jts:jts-core:1.15.0
|    +--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.apache.logging.log4j:log4j-jul:2.20.0
|    +--- org.apache.logging.log4j:log4j-core:2.20.0
|    +--- net.java.dev.jna:jna:5.5.0
|    +--- com.jcraft:jzlib:1.1.3
|    +--- com.google.protobuf:protobuf-java:3.22.3
|    \--- jakarta.annotation:jakarta.annotation-api:1.3.5
+--- org.junit.jupiter:junit-jupiter:5.10.0
\--- com.google.guava:guava:32.1.3-jre

runtimeElements - Runtime elements for the 'main' feature. (n)
No dependencies

runtimeOnly - Runtime-only dependencies for the 'main' feature. (n)
No dependencies

spotless-2015699818 - [dev.equo.ide:solstice:1.7.3, com.diffplug.durian:durian-swt.os:4.2.0, org.apache.felix:org.apache.felix.scr:2.2.6, org.eclipse.platform:org.eclipse.core.commands:3.10.400, org.eclipse.platform:org.eclipse.core.contenttype:3.8.200, org.eclipse.platform:org.eclipse.core.expressions:3.8.200, org.eclipse.platform:org.eclipse.core.filesystem:1.9.500, org.eclipse.platform:org.eclipse.core.jobs:3.13.300, org.eclipse.platform:org.eclipse.core.resources:3.18.200, org.eclipse.platform:org.eclipse.core.runtime:3.26.100, org.eclipse.platform:org.eclipse.equinox.app:1.6.200, org.eclipse.platform:org.eclipse.equinox.common:3.17.100, org.eclipse.platform:org.eclipse.equinox.event:1.6.200, org.eclipse.platform:org.eclipse.equinox.preferences:3.10.200, org.eclipse.platform:org.eclipse.equinox.registry:3.11.200, org.eclipse.platform:org.eclipse.equinox.supplement:1.10.600, org.eclipse.jdt:org.eclipse.jdt.core:3.33.0, org.eclipse.jdt:ecj:3.33.0, org.eclipse.platform:org.eclipse.osgi:3.18.300, org.eclipse.platform:org.eclipse.text:3.12.300, org.osgi:org.osgi.service.cm:1.6.1, org.osgi:org.osgi.service.component:1.5.1, org.osgi:org.osgi.service.event:1.4.1, org.osgi:org.osgi.service.metatype:1.4.1, org.osgi:org.osgi.service.prefs:1.1.2, org.osgi:org.osgi.util.function:1.2.0, org.osgi:org.osgi.util.promise:1.3.0]
+--- dev.equo.ide:solstice:1.7.3
+--- com.diffplug.durian:durian-swt.os:4.2.0
+--- org.apache.felix:org.apache.felix.scr:2.2.6
+--- org.eclipse.platform:org.eclipse.core.commands:3.10.400
+--- org.eclipse.platform:org.eclipse.core.contenttype:3.8.200
+--- org.eclipse.platform:org.eclipse.core.expressions:3.8.200
+--- org.eclipse.platform:org.eclipse.core.filesystem:1.9.500
+--- org.eclipse.platform:org.eclipse.core.jobs:3.13.300
+--- org.eclipse.platform:org.eclipse.core.resources:3.18.200
+--- org.eclipse.platform:org.eclipse.core.runtime:3.26.100
+--- org.eclipse.platform:org.eclipse.equinox.app:1.6.200
+--- org.eclipse.platform:org.eclipse.equinox.common:3.17.100
+--- org.eclipse.platform:org.eclipse.equinox.event:1.6.200
+--- org.eclipse.platform:org.eclipse.equinox.preferences:3.10.200
+--- org.eclipse.platform:org.eclipse.equinox.registry:3.11.200
+--- org.eclipse.platform:org.eclipse.equinox.supplement:1.10.600
+--- org.eclipse.jdt:org.eclipse.jdt.core:3.33.0
+--- org.eclipse.jdt:ecj:3.33.0
+--- org.eclipse.platform:org.eclipse.osgi:3.18.300
+--- org.eclipse.platform:org.eclipse.text:3.12.300
+--- org.osgi:org.osgi.service.cm:1.6.1
+--- org.osgi:org.osgi.service.component:1.5.1
+--- org.osgi:org.osgi.service.event:1.4.1
+--- org.osgi:org.osgi.service.metatype:1.4.1
+--- org.osgi:org.osgi.service.prefs:1.1.2
+--- org.osgi:org.osgi.util.function:1.2.0
\--- org.osgi:org.osgi.util.promise:1.3.0

spotless865457264 - [com.google.googlejavaformat:google-java-format:1.17.0]
\--- com.google.googlejavaformat:google-java-format:1.17.0
     \--- com.google.guava:guava:31.1-jre -> 32.1.3-jre
          +--- com.google.guava:failureaccess:1.0.1
          +--- com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
          +--- com.google.code.findbugs:jsr305:3.0.2
          +--- org.checkerframework:checker-qual:3.37.0
          \--- com.google.errorprone:error_prone_annotations:2.21.1

testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'.
No dependencies

testCompileClasspath - Compile classpath for source set 'test'.
+--- org.opensearch:opensearch-ml-client:3.0.0.0-SNAPSHOT
+--- org.opensearch:opensearch:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    |    \--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.opensearch:opensearch-compress:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    \--- com.github.luben:zstd-jni:1.5.5-5
|    +--- org.opensearch:opensearch-secure-sm:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-x-content:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    +--- org.yaml:snakeyaml:2.1
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2
|    |    \--- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.2
|    +--- org.opensearch:opensearch-geo:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-analysis-common:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-backward-codecs:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-grouping:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-highlighter:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-join:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-memory:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-misc:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queries:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queryparser:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-sandbox:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial-extras:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial3d:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-suggest:9.8.0-snapshot-4373c3b
|    +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT
|    |    +--- net.sf.jopt-simple:jopt-simple:5.0.4
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- joda-time:joda-time:2.12.2
|    +--- com.tdunning:t-digest:3.3
|    +--- org.hdrhistogram:HdrHistogram:2.1.12
|    +--- org.locationtech.spatial4j:spatial4j:0.7
|    +--- org.locationtech.jts:jts-core:1.15.0
|    +--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.apache.logging.log4j:log4j-jul:2.20.0
|    +--- org.apache.logging.log4j:log4j-core:2.20.0
|    +--- net.java.dev.jna:jna:5.5.0
|    +--- com.jcraft:jzlib:1.1.3
|    +--- com.google.protobuf:protobuf-java:3.22.3
|    \--- jakarta.annotation:jakarta.annotation-api:1.3.5
+--- org.locationtech.spatial4j:spatial4j:0.7
+--- org.locationtech.jts:jts-core:1.15.0
+--- org.apache.logging.log4j:log4j-api:2.20.0
+--- org.apache.logging.log4j:log4j-core:2.20.0
+--- net.java.dev.jna:jna:5.5.0
+--- org.junit.jupiter:junit-jupiter:5.10.0
+--- com.google.guava:guava:32.1.3-jre
\--- org.opensearch.test:framework:3.0.0-SNAPSHOT
     +--- org.opensearch.client:opensearch-rest-client:3.0.0-SNAPSHOT
     |    +--- org.apache.httpcomponents.client5:httpclient5:5.2.1
     |    +--- org.apache.httpcomponents.core5:httpcore5:5.2.2
     |    +--- org.apache.httpcomponents.core5:httpcore5-h2:5.2.2
     |    +--- commons-codec:commons-codec:1.15
     |    +--- commons-logging:commons-logging:1.2
     |    \--- org.slf4j:slf4j-api:1.7.36
     +--- org.opensearch.client:opensearch-rest-client-sniffer:3.0.0-SNAPSHOT
     |    +--- org.opensearch.client:opensearch-rest-client:3.0.0-SNAPSHOT (*)
     |    +--- org.apache.httpcomponents.client5:httpclient5:5.2.1
     |    +--- org.apache.httpcomponents.core5:httpcore5:5.2.2
     |    +--- commons-codec:commons-codec:1.15
     |    +--- commons-logging:commons-logging:1.2
     |    \--- com.fasterxml.jackson.core:jackson-core:2.15.2
     +--- org.opensearch:opensearch-nio:3.0.0-SNAPSHOT
     |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
     +--- org.opensearch:opensearch:3.0.0-SNAPSHOT (*)
     +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT (*)
     +--- org.opensearch.test:telemetry:3.0.0-SNAPSHOT
     |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
     |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
     |    \--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT (*)
     +--- com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.7.1
     +--- junit:junit:4.13.2
     +--- org.hamcrest:hamcrest:2.1
     +--- org.apache.lucene:lucene-test-framework:9.8.0-snapshot-4373c3b
     +--- org.apache.lucene:lucene-codecs:9.8.0-snapshot-4373c3b
     +--- commons-logging:commons-logging:1.2
     +--- commons-codec:commons-codec:1.15
     +--- org.mockito:mockito-core:5.4.0
     +--- net.bytebuddy:byte-buddy:1.14.3
     \--- org.objenesis:objenesis:3.2

testCompileOnly - Compile only dependencies for source set 'test'. (n)
No dependencies

testImplementation - Implementation only dependencies for source set 'test'. (n)
\--- org.opensearch.test:framework:3.0.0-SNAPSHOT (n)

testRuntimeClasspath - Runtime classpath of source set 'test'.
+--- org.opensearch:opensearch-ml-client:3.0.0.0-SNAPSHOT
+--- org.opensearch:opensearch:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    |    \--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.opensearch:opensearch-compress:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    \--- com.github.luben:zstd-jni:1.5.5-5
|    +--- org.opensearch:opensearch-secure-sm:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-x-content:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    +--- org.yaml:snakeyaml:2.1
|    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.2
|    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2
|    |    \--- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.2
|    +--- org.opensearch:opensearch-geo:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-analysis-common:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-backward-codecs:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-grouping:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-highlighter:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-join:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-memory:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-misc:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queries:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-queryparser:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-sandbox:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial-extras:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-spatial3d:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-suggest:9.8.0-snapshot-4373c3b
|    +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT
|    |    +--- net.sf.jopt-simple:jopt-simple:5.0.4
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- joda-time:joda-time:2.12.2
|    +--- com.tdunning:t-digest:3.3
|    +--- org.hdrhistogram:HdrHistogram:2.1.12
|    +--- org.locationtech.spatial4j:spatial4j:0.7
|    +--- org.locationtech.jts:jts-core:1.15.0
|    +--- org.apache.logging.log4j:log4j-api:2.20.0
|    +--- org.apache.logging.log4j:log4j-jul:2.20.0
|    +--- org.apache.logging.log4j:log4j-core:2.20.0
|    +--- net.java.dev.jna:jna:5.5.0
|    +--- com.jcraft:jzlib:1.1.3
|    +--- com.google.protobuf:protobuf-java:3.22.3
|    \--- jakarta.annotation:jakarta.annotation-api:1.3.5
+--- org.locationtech.spatial4j:spatial4j:0.7
+--- org.locationtech.jts:jts-core:1.15.0
+--- org.apache.logging.log4j:log4j-api:2.20.0
+--- org.apache.logging.log4j:log4j-core:2.20.0
+--- net.java.dev.jna:jna:5.5.0
+--- org.junit.jupiter:junit-jupiter:5.10.0
+--- com.google.guava:guava:32.1.3-jre
\--- org.opensearch.test:framework:3.0.0-SNAPSHOT
     +--- org.opensearch.client:opensearch-rest-client:3.0.0-SNAPSHOT
     |    +--- org.apache.httpcomponents.client5:httpclient5:5.2.1
     |    +--- org.apache.httpcomponents.core5:httpcore5:5.2.2
     |    +--- org.apache.httpcomponents.core5:httpcore5-h2:5.2.2
     |    +--- commons-codec:commons-codec:1.15
     |    +--- commons-logging:commons-logging:1.2
     |    \--- org.slf4j:slf4j-api:1.7.36
     +--- org.opensearch.client:opensearch-rest-client-sniffer:3.0.0-SNAPSHOT
     |    +--- org.opensearch.client:opensearch-rest-client:3.0.0-SNAPSHOT (*)
     |    +--- org.apache.httpcomponents.client5:httpclient5:5.2.1
     |    +--- org.apache.httpcomponents.core5:httpcore5:5.2.2
     |    +--- commons-codec:commons-codec:1.15
     |    +--- commons-logging:commons-logging:1.2
     |    \--- com.fasterxml.jackson.core:jackson-core:2.15.2
     +--- org.opensearch:opensearch-nio:3.0.0-SNAPSHOT
     |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
     +--- org.opensearch:opensearch:3.0.0-SNAPSHOT (*)
     +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT (*)
     +--- org.opensearch.test:telemetry:3.0.0-SNAPSHOT
     |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
     |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
     |    \--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT (*)
     +--- com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.7.1
     +--- junit:junit:4.13.2
     +--- org.hamcrest:hamcrest:2.1
     +--- org.apache.lucene:lucene-test-framework:9.8.0-snapshot-4373c3b
     +--- org.apache.lucene:lucene-codecs:9.8.0-snapshot-4373c3b
     +--- commons-logging:commons-logging:1.2
     +--- commons-codec:commons-codec:1.15
     +--- org.mockito:mockito-core:5.4.0
     +--- net.bytebuddy:byte-buddy:1.14.3
     \--- org.objenesis:objenesis:3.2

testRuntimeOnly - Runtime only dependencies for source set 'test'. (n)
No dependencies

yamlRestTestAnnotationProcessor - Annotation processors and their dependencies for source set 'yaml rest test'.
No dependencies

yamlRestTestCompileClasspath - Compile classpath for source set 'yaml rest test'.
+--- org.opensearch.test:framework:3.0.0-SNAPSHOT
|    +--- org.opensearch.client:opensearch-rest-client:3.0.0-SNAPSHOT
|    |    +--- org.apache.httpcomponents.client5:httpclient5:5.2.1
|    |    +--- org.apache.httpcomponents.core5:httpcore5:5.2.2
|    |    +--- org.apache.httpcomponents.core5:httpcore5-h2:5.2.2
|    |    +--- commons-codec:commons-codec:1.15
|    |    +--- commons-logging:commons-logging:1.2
|    |    \--- org.slf4j:slf4j-api:1.7.36
|    +--- org.opensearch.client:opensearch-rest-client-sniffer:3.0.0-SNAPSHOT
|    |    +--- org.opensearch.client:opensearch-rest-client:3.0.0-SNAPSHOT (*)
|    |    +--- org.apache.httpcomponents.client5:httpclient5:5.2.1
|    |    +--- org.apache.httpcomponents.core5:httpcore5:5.2.2
|    |    +--- commons-codec:commons-codec:1.15
|    |    +--- commons-logging:commons-logging:1.2
|    |    \--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    +--- org.opensearch:opensearch-nio:3.0.0-SNAPSHOT
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    |    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    |    |    \--- org.apache.logging.log4j:log4j-api:2.20.0
|    |    +--- org.opensearch:opensearch-compress:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    |    \--- com.github.luben:zstd-jni:1.5.5-5
|    |    +--- org.opensearch:opensearch-secure-sm:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-x-content:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    |    +--- org.yaml:snakeyaml:2.1
|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.2
|    |    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2
|    |    |    \--- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.2
|    |    +--- org.opensearch:opensearch-geo:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT
|    |    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-analysis-common:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-backward-codecs:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-grouping:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-highlighter:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-join:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-memory:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-misc:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-queries:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-queryparser:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-sandbox:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-spatial-extras:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-spatial3d:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-suggest:9.8.0-snapshot-4373c3b
|    |    +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT
|    |    |    +--- net.sf.jopt-simple:jopt-simple:5.0.4
|    |    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- joda-time:joda-time:2.12.2
|    |    +--- com.tdunning:t-digest:3.3
|    |    +--- org.hdrhistogram:HdrHistogram:2.1.12
|    |    +--- org.locationtech.spatial4j:spatial4j:0.7
|    |    +--- org.locationtech.jts:jts-core:1.15.0
|    |    +--- org.apache.logging.log4j:log4j-api:2.20.0
|    |    +--- org.apache.logging.log4j:log4j-jul:2.20.0
|    |    +--- org.apache.logging.log4j:log4j-core:2.20.0
|    |    |    \--- org.apache.logging.log4j:log4j-api:2.20.0
|    |    +--- net.java.dev.jna:jna:5.5.0
|    |    +--- com.jcraft:jzlib:1.1.3
|    |    +--- com.google.protobuf:protobuf-java:3.22.3
|    |    \--- jakarta.annotation:jakarta.annotation-api:1.3.5
|    +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT (*)
|    +--- org.opensearch.test:telemetry:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    \--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT (*)
|    +--- com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.7.1
|    +--- junit:junit:4.13.2
|    +--- org.hamcrest:hamcrest:2.1
|    +--- org.apache.lucene:lucene-test-framework:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-codecs:9.8.0-snapshot-4373c3b
|    +--- commons-logging:commons-logging:1.2
|    +--- commons-codec:commons-codec:1.15
|    +--- org.mockito:mockito-core:5.4.0
|    +--- net.bytebuddy:byte-buddy:1.14.3
|    \--- org.objenesis:objenesis:3.2
\--- org.apache.logging.log4j:log4j-core:2.20.0 (*)

yamlRestTestCompileOnly - Compile only dependencies for source set 'yaml rest test'. (n)
No dependencies

yamlRestTestImplementation - Implementation only dependencies for source set 'yaml rest test'. (n)
+--- org.opensearch.test:framework:3.0.0-SNAPSHOT (n)
\--- org.apache.logging.log4j:log4j-core:2.20.0 (n)

yamlRestTestRuntimeClasspath - Runtime classpath of source set 'yaml rest test'.
+--- org.opensearch.test:framework:3.0.0-SNAPSHOT
|    +--- org.opensearch.client:opensearch-rest-client:3.0.0-SNAPSHOT
|    |    +--- org.apache.httpcomponents.client5:httpclient5:5.2.1
|    |    +--- org.apache.httpcomponents.core5:httpcore5:5.2.2
|    |    +--- org.apache.httpcomponents.core5:httpcore5-h2:5.2.2
|    |    +--- commons-codec:commons-codec:1.15
|    |    +--- commons-logging:commons-logging:1.2
|    |    \--- org.slf4j:slf4j-api:1.7.36
|    +--- org.opensearch.client:opensearch-rest-client-sniffer:3.0.0-SNAPSHOT
|    |    +--- org.opensearch.client:opensearch-rest-client:3.0.0-SNAPSHOT (*)
|    |    +--- org.apache.httpcomponents.client5:httpclient5:5.2.1
|    |    +--- org.apache.httpcomponents.core5:httpcore5:5.2.2
|    |    +--- commons-codec:commons-codec:1.15
|    |    +--- commons-logging:commons-logging:1.2
|    |    \--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    +--- org.opensearch:opensearch-nio:3.0.0-SNAPSHOT
|    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    +--- org.opensearch:opensearch:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    |    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    |    |    \--- org.apache.logging.log4j:log4j-api:2.20.0
|    |    +--- org.opensearch:opensearch-compress:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    |    \--- com.github.luben:zstd-jni:1.5.5-5
|    |    +--- org.opensearch:opensearch-secure-sm:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-x-content:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    |    +--- org.yaml:snakeyaml:2.1
|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.15.2
|    |    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-smile:2.15.2
|    |    |    +--- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2
|    |    |    \--- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.15.2
|    |    +--- org.opensearch:opensearch-geo:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT
|    |    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- org.apache.lucene:lucene-core:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-analysis-common:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-backward-codecs:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-grouping:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-highlighter:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-join:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-memory:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-misc:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-queries:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-queryparser:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-sandbox:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-spatial-extras:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-spatial3d:9.8.0-snapshot-4373c3b
|    |    +--- org.apache.lucene:lucene-suggest:9.8.0-snapshot-4373c3b
|    |    +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT
|    |    |    +--- net.sf.jopt-simple:jopt-simple:5.0.4
|    |    |    \--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    +--- joda-time:joda-time:2.12.2
|    |    +--- com.tdunning:t-digest:3.3
|    |    +--- org.hdrhistogram:HdrHistogram:2.1.12
|    |    +--- org.locationtech.spatial4j:spatial4j:0.7
|    |    +--- org.locationtech.jts:jts-core:1.15.0
|    |    +--- org.apache.logging.log4j:log4j-api:2.20.0
|    |    +--- org.apache.logging.log4j:log4j-jul:2.20.0
|    |    +--- org.apache.logging.log4j:log4j-core:2.20.0
|    |    |    \--- org.apache.logging.log4j:log4j-api:2.20.0
|    |    +--- net.java.dev.jna:jna:5.5.0
|    |    +--- com.jcraft:jzlib:1.1.3
|    |    +--- com.google.protobuf:protobuf-java:3.22.3
|    |    \--- jakarta.annotation:jakarta.annotation-api:1.3.5
|    +--- org.opensearch:opensearch-cli:3.0.0-SNAPSHOT (*)
|    +--- org.opensearch.test:telemetry:3.0.0-SNAPSHOT
|    |    +--- org.opensearch:opensearch-core:3.0.0-SNAPSHOT (*)
|    |    +--- org.opensearch:opensearch-common:3.0.0-SNAPSHOT
|    |    \--- org.opensearch:opensearch-telemetry:3.0.0-SNAPSHOT (*)
|    +--- com.carrotsearch.randomizedtesting:randomizedtesting-runner:2.7.1
|    +--- junit:junit:4.13.2
|    +--- org.hamcrest:hamcrest:2.1
|    +--- org.apache.lucene:lucene-test-framework:9.8.0-snapshot-4373c3b
|    +--- org.apache.lucene:lucene-codecs:9.8.0-snapshot-4373c3b
|    +--- commons-logging:commons-logging:1.2
|    +--- commons-codec:commons-codec:1.15
|    +--- org.mockito:mockito-core:5.4.0
|    +--- net.bytebuddy:byte-buddy:1.14.3
|    \--- org.objenesis:objenesis:3.2
\--- org.apache.logging.log4j:log4j-core:2.20.0 (*)

yamlRestTestRuntimeOnly - Runtime only dependencies for source set 'yaml rest test'. (n)
No dependencies

zip
No dependencies

zipArchive
\--- org.opensearch.plugin:opensearch-ml-plugin:3.0.0.0-SNAPSHOT

@ylwu-amzn
Copy link

I have similar question

I thought we were taking a dependency on the MLClient separately, and we don't actually call any APIs during installation of the plugin. What exactly is the problem?

@owaiskazi19 , what's the problem?

@owaiskazi19
Copy link
Member

@owaiskazi19 , what's the problem?

@ylwu-amzn When invoking register API though mlClient here. Getting the below ClassCastException

[2023-10-25T20:13:30,038][ERROR][o.o.f.t.ProvisionWorkflowTransportAction] [ip-172-31-56-214] Provisioning failed for workflow rlt4aIsB-BC8dYg-Eww9 : java.util.concurrent.ExecutionException: org.opensearch.flowframework.exception.FlowFrameworkException: class org.opensearch.ml.common.transport.register.MLRegisterModelResponse cannot be cast to class org.opensearch.ml.common.transport.register.MLRegisterModelResponse (org.opensearch.ml.common.transport.register.MLRegisterModelResponse is in unnamed module of loader java.net.FactoryURLClassLoader @475f5672; org.opensearch.ml.common.transport.register.MLRegisterModelResponse is in unnamed module of loader java.net.FactoryURLClassLoader @320be73)

@dbwiddis
Copy link
Member

dbwiddis commented Oct 26, 2023

what's the problem?

Specifically the same class (MLRegisterModelResponse) is being loaded from two different classloaders:

java.net.FactoryURLClassLoader @475f5672
java.net.FactoryURLClassLoader @320be73

@dbwiddis
Copy link
Member

@owaiskazi19 did you look into the different thread pools being used?

@owaiskazi19
Copy link
Member

@owaiskazi19 did you look into the different thread pools being used?

Yes, tried using generic first and then our own. Same error for both.

@owaiskazi19
Copy link
Member

owaiskazi19 commented Oct 30, 2023

For the 2nd issue. There's no fix solution for it.
If we add ml-commons to extendedPlugin, OS cluster will just check if the plugin is installed before installing flow-framework and this will be the right way to go forward if all our use cases are based on ml-commons.

But that's not the case for our plugin, we will have use cases which can rely on other plugins, at that time our plugin shouldn't have a strict requirement of installing ml-commons before our plugin.
cc: @joshpalis @dbwiddis

@joshpalis
Copy link
Member Author

Agreed, I think the best way forward now would be to introduce a mechanism that can check the installed plugins during bootstrap of the OpenSearch process, probably during the instantiation of this WorkflowStepFactory (link). Based on the installed plugins, we can then choose which steps to register within this step factory

@owaiskazi19
Copy link
Member

Created #126 for the 2nd one. We can close this one in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants