Search in sources :

Example 1 with MLResourceNotFoundException

use of org.opensearch.ml.common.exception.MLResourceNotFoundException in project ml-commons by opensearch-project.

the class GetModelTransportAction method doExecute.

@Override
protected void doExecute(Task task, ActionRequest request, ActionListener<MLModelGetResponse> actionListener) {
    MLModelGetRequest mlModelGetRequest = MLModelGetRequest.fromActionRequest(request);
    String modelId = mlModelGetRequest.getModelId();
    GetRequest getRequest = new GetRequest(ML_MODEL_INDEX).id(modelId);
    try (ThreadContext.StoredContext context = client.threadPool().getThreadContext().stashContext()) {
        client.get(getRequest, ActionListener.wrap(r -> {
            log.info("Completed Get Model Request, id:{}", modelId);
            if (r != null && r.isExists()) {
                try (XContentParser parser = createXContentParserFromRegistry(xContentRegistry, r.getSourceAsBytesRef())) {
                    ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser);
                    MLModel mlModel = MLModel.parse(parser);
                    actionListener.onResponse(MLModelGetResponse.builder().mlModel(mlModel).build());
                } catch (Exception e) {
                    log.error("Failed to parse ml model" + r.getId(), e);
                    actionListener.onFailure(e);
                }
            } else {
                actionListener.onFailure(new MLResourceNotFoundException("Fail to find model"));
            }
        }, e -> {
            if (e instanceof IndexNotFoundException) {
                actionListener.onFailure(new MLResourceNotFoundException("Fail to find model"));
            } else {
                log.error("Failed to get ML model " + modelId, e);
                actionListener.onFailure(e);
            }
        }));
    } catch (Exception e) {
        log.error("Failed to get ML model " + modelId, e);
        actionListener.onFailure(e);
    }
}
Also used : FieldDefaults(lombok.experimental.FieldDefaults) Client(org.opensearch.client.Client) HandledTransportAction(org.opensearch.action.support.HandledTransportAction) MLModelGetRequest(org.opensearch.ml.common.transport.model.MLModelGetRequest) IndexNotFoundException(org.opensearch.index.IndexNotFoundException) GetRequest(org.opensearch.action.get.GetRequest) XContentParserUtils.ensureExpectedToken(org.opensearch.common.xcontent.XContentParserUtils.ensureExpectedToken) MLNodeUtils.createXContentParserFromRegistry(org.opensearch.ml.utils.MLNodeUtils.createXContentParserFromRegistry) ActionRequest(org.opensearch.action.ActionRequest) Task(org.opensearch.tasks.Task) ThreadContext(org.opensearch.common.util.concurrent.ThreadContext) TransportService(org.opensearch.transport.TransportService) MLResourceNotFoundException(org.opensearch.ml.common.exception.MLResourceNotFoundException) XContentParser(org.opensearch.common.xcontent.XContentParser) ActionFilters(org.opensearch.action.support.ActionFilters) AccessLevel(lombok.AccessLevel) MLModelGetAction(org.opensearch.ml.common.transport.model.MLModelGetAction) ML_MODEL_INDEX(org.opensearch.ml.indices.MLIndicesHandler.ML_MODEL_INDEX) NamedXContentRegistry(org.opensearch.common.xcontent.NamedXContentRegistry) Log4j2(lombok.extern.log4j.Log4j2) Inject(org.opensearch.common.inject.Inject) ActionListener(org.opensearch.action.ActionListener) MLModel(org.opensearch.ml.common.parameter.MLModel) MLModelGetResponse(org.opensearch.ml.common.transport.model.MLModelGetResponse) MLResourceNotFoundException(org.opensearch.ml.common.exception.MLResourceNotFoundException) MLModelGetRequest(org.opensearch.ml.common.transport.model.MLModelGetRequest) GetRequest(org.opensearch.action.get.GetRequest) ThreadContext(org.opensearch.common.util.concurrent.ThreadContext) IndexNotFoundException(org.opensearch.index.IndexNotFoundException) MLModel(org.opensearch.ml.common.parameter.MLModel) MLModelGetRequest(org.opensearch.ml.common.transport.model.MLModelGetRequest) XContentParser(org.opensearch.common.xcontent.XContentParser) IndexNotFoundException(org.opensearch.index.IndexNotFoundException) MLResourceNotFoundException(org.opensearch.ml.common.exception.MLResourceNotFoundException)

Example 2 with MLResourceNotFoundException

use of org.opensearch.ml.common.exception.MLResourceNotFoundException in project ml-commons by opensearch-project.

the class GetTaskTransportAction method doExecute.

@Override
protected void doExecute(Task task, ActionRequest request, ActionListener<MLTaskGetResponse> actionListener) {
    MLTaskGetRequest mlTaskGetRequest = MLTaskGetRequest.fromActionRequest(request);
    String taskId = mlTaskGetRequest.getTaskId();
    GetRequest getRequest = new GetRequest(ML_TASK_INDEX).id(taskId);
    try (ThreadContext.StoredContext context = client.threadPool().getThreadContext().stashContext()) {
        client.get(getRequest, ActionListener.wrap(r -> {
            log.info("Completed Get Task Request, id:{}", taskId);
            if (r != null && r.isExists()) {
                try (XContentParser parser = createXContentParserFromRegistry(xContentRegistry, r.getSourceAsBytesRef())) {
                    ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser);
                    MLTask mlTask = MLTask.parse(parser);
                    actionListener.onResponse(MLTaskGetResponse.builder().mlTask(mlTask).build());
                } catch (Exception e) {
                    log.error("Failed to parse ml task" + r.getId(), e);
                    actionListener.onFailure(e);
                }
            } else {
                actionListener.onFailure(new MLResourceNotFoundException("Fail to find task"));
            }
        }, e -> {
            if (e instanceof IndexNotFoundException) {
                actionListener.onFailure(new MLResourceNotFoundException("Fail to find task"));
            } else {
                log.error("Failed to get ML task " + taskId, e);
                actionListener.onFailure(e);
            }
        }));
    } catch (Exception e) {
        log.error("Failed to get ML task " + taskId, e);
        actionListener.onFailure(e);
    }
}
Also used : Client(org.opensearch.client.Client) HandledTransportAction(org.opensearch.action.support.HandledTransportAction) MLTaskGetAction(org.opensearch.ml.common.transport.task.MLTaskGetAction) MLTaskGetResponse(org.opensearch.ml.common.transport.task.MLTaskGetResponse) IndexNotFoundException(org.opensearch.index.IndexNotFoundException) GetRequest(org.opensearch.action.get.GetRequest) XContentParserUtils.ensureExpectedToken(org.opensearch.common.xcontent.XContentParserUtils.ensureExpectedToken) MLNodeUtils.createXContentParserFromRegistry(org.opensearch.ml.utils.MLNodeUtils.createXContentParserFromRegistry) ActionRequest(org.opensearch.action.ActionRequest) Task(org.opensearch.tasks.Task) ThreadContext(org.opensearch.common.util.concurrent.ThreadContext) MLTask(org.opensearch.ml.common.parameter.MLTask) TransportService(org.opensearch.transport.TransportService) MLResourceNotFoundException(org.opensearch.ml.common.exception.MLResourceNotFoundException) XContentParser(org.opensearch.common.xcontent.XContentParser) ActionFilters(org.opensearch.action.support.ActionFilters) MLTaskGetRequest(org.opensearch.ml.common.transport.task.MLTaskGetRequest) NamedXContentRegistry(org.opensearch.common.xcontent.NamedXContentRegistry) Log4j2(lombok.extern.log4j.Log4j2) Inject(org.opensearch.common.inject.Inject) ML_TASK_INDEX(org.opensearch.ml.indices.MLIndicesHandler.ML_TASK_INDEX) ActionListener(org.opensearch.action.ActionListener) MLResourceNotFoundException(org.opensearch.ml.common.exception.MLResourceNotFoundException) GetRequest(org.opensearch.action.get.GetRequest) MLTaskGetRequest(org.opensearch.ml.common.transport.task.MLTaskGetRequest) ThreadContext(org.opensearch.common.util.concurrent.ThreadContext) IndexNotFoundException(org.opensearch.index.IndexNotFoundException) MLTaskGetRequest(org.opensearch.ml.common.transport.task.MLTaskGetRequest) XContentParser(org.opensearch.common.xcontent.XContentParser) IndexNotFoundException(org.opensearch.index.IndexNotFoundException) MLResourceNotFoundException(org.opensearch.ml.common.exception.MLResourceNotFoundException) MLTask(org.opensearch.ml.common.parameter.MLTask)

Aggregations

Log4j2 (lombok.extern.log4j.Log4j2)2 ActionListener (org.opensearch.action.ActionListener)2 ActionRequest (org.opensearch.action.ActionRequest)2 GetRequest (org.opensearch.action.get.GetRequest)2 ActionFilters (org.opensearch.action.support.ActionFilters)2 HandledTransportAction (org.opensearch.action.support.HandledTransportAction)2 Client (org.opensearch.client.Client)2 Inject (org.opensearch.common.inject.Inject)2 ThreadContext (org.opensearch.common.util.concurrent.ThreadContext)2 NamedXContentRegistry (org.opensearch.common.xcontent.NamedXContentRegistry)2 XContentParser (org.opensearch.common.xcontent.XContentParser)2 XContentParserUtils.ensureExpectedToken (org.opensearch.common.xcontent.XContentParserUtils.ensureExpectedToken)2 IndexNotFoundException (org.opensearch.index.IndexNotFoundException)2 MLResourceNotFoundException (org.opensearch.ml.common.exception.MLResourceNotFoundException)2 MLNodeUtils.createXContentParserFromRegistry (org.opensearch.ml.utils.MLNodeUtils.createXContentParserFromRegistry)2 Task (org.opensearch.tasks.Task)2 TransportService (org.opensearch.transport.TransportService)2 AccessLevel (lombok.AccessLevel)1 FieldDefaults (lombok.experimental.FieldDefaults)1 MLModel (org.opensearch.ml.common.parameter.MLModel)1