From f797707df49f59a737c6219e48fe56aa2f361600 Mon Sep 17 00:00:00 2001 From: "opensearch-trigger-bot[bot]" <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Date: Thu, 12 Oct 2023 16:49:05 -0700 Subject: [PATCH] add prefix to show the error is from remote service (#1499) (#1515) Signed-off-by: Yaliang Wu (cherry picked from commit 3897ad179437e683033d6918ebb6b4edf439dd4d) Co-authored-by: Yaliang Wu --- .../java/org/opensearch/ml/common/CommonValue.java | 1 + .../algorithms/remote/AwsConnectorExecutor.java | 11 ++++++----- .../algorithms/remote/HttpJsonConnectorExecutor.java | 9 +++++---- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/org/opensearch/ml/common/CommonValue.java b/common/src/main/java/org/opensearch/ml/common/CommonValue.java index 3b981bcf20..84c3a96712 100644 --- a/common/src/main/java/org/opensearch/ml/common/CommonValue.java +++ b/common/src/main/java/org/opensearch/ml/common/CommonValue.java @@ -18,6 +18,7 @@ public class CommonValue { public static Integer NO_SCHEMA_VERSION = 0; + public static final String REMOTE_SERVICE_ERROR = "Error from remote service: "; public static final String USER = "user"; public static final String META = "_meta"; public static final String SCHEMA_VERSION_FIELD = "schema_version"; diff --git a/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/AwsConnectorExecutor.java b/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/AwsConnectorExecutor.java index 786cc6bdca..d53db7caca 100644 --- a/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/AwsConnectorExecutor.java +++ b/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/AwsConnectorExecutor.java @@ -5,10 +5,6 @@ package org.opensearch.ml.engine.algorithms.remote; -import static org.opensearch.ml.common.connector.ConnectorProtocols.AWS_SIGV4; -import static org.opensearch.ml.engine.algorithms.remote.ConnectorUtils.processOutput; -import static software.amazon.awssdk.http.SdkHttpMethod.POST; - import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URI; @@ -39,6 +35,11 @@ import software.amazon.awssdk.http.SdkHttpClient; import software.amazon.awssdk.http.SdkHttpFullRequest; +import static org.opensearch.ml.common.CommonValue.REMOTE_SERVICE_ERROR; +import static org.opensearch.ml.common.connector.ConnectorProtocols.AWS_SIGV4; +import static org.opensearch.ml.engine.algorithms.remote.ConnectorUtils.processOutput; +import static software.amazon.awssdk.http.SdkHttpMethod.POST; + @Log4j2 @ConnectorExecutor(AWS_SIGV4) public class AwsConnectorExecutor implements RemoteConnectorExecutor { @@ -106,7 +107,7 @@ public void invokeRemoteModel(MLInput mlInput, Map parameters, S } String modelResponse = responseBuilder.toString(); if (statusCode < 200 || statusCode >= 300) { - throw new OpenSearchStatusException(modelResponse, RestStatus.fromCode(statusCode)); + throw new OpenSearchStatusException(REMOTE_SERVICE_ERROR + modelResponse, RestStatus.fromCode(statusCode)); } ModelTensors tensors = processOutput(modelResponse, connector, scriptService, parameters); diff --git a/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/HttpJsonConnectorExecutor.java b/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/HttpJsonConnectorExecutor.java index b089dfffe1..b92015bd3a 100644 --- a/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/HttpJsonConnectorExecutor.java +++ b/ml-algorithms/src/main/java/org/opensearch/ml/engine/algorithms/remote/HttpJsonConnectorExecutor.java @@ -5,9 +5,6 @@ package org.opensearch.ml.engine.algorithms.remote; -import static org.opensearch.ml.common.connector.ConnectorProtocols.HTTP; -import static org.opensearch.ml.engine.algorithms.remote.ConnectorUtils.processOutput; - import java.security.AccessController; import java.security.PrivilegedExceptionAction; import java.util.List; @@ -38,6 +35,10 @@ import lombok.Setter; import lombok.extern.log4j.Log4j2; +import static org.opensearch.ml.common.CommonValue.REMOTE_SERVICE_ERROR; +import static org.opensearch.ml.common.connector.ConnectorProtocols.HTTP; +import static org.opensearch.ml.engine.algorithms.remote.ConnectorUtils.processOutput; + @Log4j2 @ConnectorExecutor(HTTP) public class HttpJsonConnectorExecutor implements RemoteConnectorExecutor { @@ -108,7 +109,7 @@ public void invokeRemoteModel(MLInput mlInput, Map parameters, S String modelResponse = responseRef.get(); Integer statusCode = statusCodeRef.get(); if (statusCode < 200 || statusCode >= 300) { - throw new OpenSearchStatusException(modelResponse, RestStatus.fromCode(statusCode)); + throw new OpenSearchStatusException(REMOTE_SERVICE_ERROR + modelResponse, RestStatus.fromCode(statusCode)); } ModelTensors tensors = processOutput(modelResponse, connector, scriptService, parameters);