Skip to content

Commit 4bce041

Browse files
zane-neoylwu-amzn
authored andcommitted
Move HttpClientFactory to common to expose to other componenets
Signed-off-by: zane-neo <[email protected]>
1 parent 5cabf63 commit 4bce041

File tree

7 files changed

+20
-21
lines changed

7 files changed

+20
-21
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ ml-algorithms/build/
1010
plugin/build/
1111
.DS_Store
1212
*/bin/
13+
**/*.factorypath

common/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ dependencies {
4343
compileOnly group: 'com.networknt' , name: 'json-schema-validator', version: '1.4.0'
4444
// Multi-tenant SDK Client
4545
compileOnly "org.opensearch:opensearch-remote-metadata-sdk:${opensearch_build}"
46+
compileOnly (group: 'software.amazon.awssdk', name: 'netty-nio-client', version: "2.30.18") {
47+
exclude(group: 'org.reactivestreams', module: 'reactive-streams')
48+
exclude(group: 'org.slf4j', module: 'slf4j-api')
49+
}
4650
}
4751

4852
lombok {
Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,18 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package org.opensearch.ml.engine.httpclient;
6+
package org.opensearch.ml.common.httpclient;
77

88
import java.net.Inet4Address;
99
import java.net.InetAddress;
1010
import java.net.UnknownHostException;
11-
import java.security.AccessController;
12-
import java.security.PrivilegedActionException;
13-
import java.security.PrivilegedExceptionAction;
1411
import java.time.Duration;
1512
import java.util.Arrays;
1613
import java.util.Locale;
1714
import java.util.concurrent.atomic.AtomicBoolean;
1815

16+
import org.opensearch.common.util.concurrent.ThreadContextAccess;
17+
1918
import lombok.extern.log4j.Log4j2;
2019
import software.amazon.awssdk.http.async.SdkAsyncHttpClient;
2120
import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient;
@@ -24,19 +23,15 @@
2423
public class MLHttpClientFactory {
2524

2625
public static SdkAsyncHttpClient getAsyncHttpClient(Duration connectionTimeout, Duration readTimeout, int maxConnections) {
27-
try {
28-
return AccessController
29-
.doPrivileged(
30-
(PrivilegedExceptionAction<SdkAsyncHttpClient>) () -> NettyNioAsyncHttpClient
31-
.builder()
32-
.connectionTimeout(connectionTimeout)
33-
.readTimeout(readTimeout)
34-
.maxConcurrency(maxConnections)
35-
.build()
36-
);
37-
} catch (PrivilegedActionException e) {
38-
return null;
39-
}
26+
return ThreadContextAccess
27+
.doPrivileged(
28+
() -> NettyNioAsyncHttpClient
29+
.builder()
30+
.connectionTimeout(connectionTimeout)
31+
.readTimeout(readTimeout)
32+
.maxConcurrency(maxConnections)
33+
.build()
34+
);
4035
}
4136

4237
/**
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package org.opensearch.ml.engine.httpclient;
6+
package org.opensearch.ml.common.httpclient;
77

88
import static org.junit.Assert.assertNotNull;
99

ml-algorithms/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ dependencies {
8484
}
8585
implementation('net.minidev:json-smart:2.5.2')
8686
implementation group: 'org.json', name: 'json', version: '20231013'
87-
implementation group: 'software.amazon.awssdk', name: 'netty-nio-client', version: "2.30.18"
8887
api('io.modelcontextprotocol.sdk:mcp:0.9.0')
8988
testImplementation("com.fasterxml.jackson.core:jackson-annotations:${versions.jackson}")
9089
testImplementation("com.fasterxml.jackson.core:jackson-databind:${versions.jackson_databind}")

ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/AwsConnectorExecutor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@
2323
import org.opensearch.ml.common.connector.AwsConnector;
2424
import org.opensearch.ml.common.connector.Connector;
2525
import org.opensearch.ml.common.exception.MLException;
26+
import org.opensearch.ml.common.httpclient.MLHttpClientFactory;
2627
import org.opensearch.ml.common.input.MLInput;
2728
import org.opensearch.ml.common.model.MLGuard;
2829
import org.opensearch.ml.common.output.model.ModelTensors;
2930
import org.opensearch.ml.engine.annotation.ConnectorExecutor;
30-
import org.opensearch.ml.engine.httpclient.MLHttpClientFactory;
3131
import org.opensearch.script.ScriptService;
3232
import org.opensearch.transport.client.Client;
3333

ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/HttpJsonConnectorExecutor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
import org.opensearch.ml.common.connector.Connector;
2626
import org.opensearch.ml.common.connector.HttpConnector;
2727
import org.opensearch.ml.common.exception.MLException;
28+
import org.opensearch.ml.common.httpclient.MLHttpClientFactory;
2829
import org.opensearch.ml.common.input.MLInput;
2930
import org.opensearch.ml.common.model.MLGuard;
3031
import org.opensearch.ml.common.output.model.ModelTensors;
3132
import org.opensearch.ml.engine.annotation.ConnectorExecutor;
32-
import org.opensearch.ml.engine.httpclient.MLHttpClientFactory;
3333
import org.opensearch.script.ScriptService;
3434
import org.opensearch.transport.client.Client;
3535

0 commit comments

Comments
 (0)