Skip to content

Commit 80dd0a0

Browse files
authored
Get rid of EstimateMemoryUsageRequest and EstimateMemoryUsageAction.Request. (#45718) (#45725)
1 parent 88641a0 commit 80dd0a0

File tree

13 files changed

+47
-330
lines changed

13 files changed

+47
-330
lines changed

client/rest-high-level/src/main/java/org/elasticsearch/client/MLRequestConverters.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
import org.elasticsearch.client.ml.DeleteForecastRequest;
4040
import org.elasticsearch.client.ml.DeleteJobRequest;
4141
import org.elasticsearch.client.ml.DeleteModelSnapshotRequest;
42-
import org.elasticsearch.client.ml.EstimateMemoryUsageRequest;
4342
import org.elasticsearch.client.ml.EvaluateDataFrameRequest;
4443
import org.elasticsearch.client.ml.FindFileStructureRequest;
4544
import org.elasticsearch.client.ml.FlushJobRequest;
@@ -701,7 +700,7 @@ static Request evaluateDataFrame(EvaluateDataFrameRequest evaluateRequest) throw
701700
return request;
702701
}
703702

704-
static Request estimateMemoryUsage(EstimateMemoryUsageRequest estimateRequest) throws IOException {
703+
static Request estimateMemoryUsage(PutDataFrameAnalyticsRequest estimateRequest) throws IOException {
705704
String endpoint = new EndpointBuilder()
706705
.addPathPartAsIs("_ml", "data_frame", "analytics", "_estimate_memory_usage")
707706
.build();

client/rest-high-level/src/main/java/org/elasticsearch/client/MachineLearningClient.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.elasticsearch.client.ml.DeleteJobRequest;
3535
import org.elasticsearch.client.ml.DeleteJobResponse;
3636
import org.elasticsearch.client.ml.DeleteModelSnapshotRequest;
37-
import org.elasticsearch.client.ml.EstimateMemoryUsageRequest;
3837
import org.elasticsearch.client.ml.EstimateMemoryUsageResponse;
3938
import org.elasticsearch.client.ml.EvaluateDataFrameRequest;
4039
import org.elasticsearch.client.ml.EvaluateDataFrameResponse;
@@ -2195,14 +2194,15 @@ public void evaluateDataFrameAsync(EvaluateDataFrameRequest request, RequestOpti
21952194
* see <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/estimate-memory-usage-dfanalytics.html">
21962195
* Estimate Memory Usage for Data Frame Analytics documentation</a>
21972196
*
2198-
* @param request The {@link EstimateMemoryUsageRequest}
2197+
* @param request The {@link PutDataFrameAnalyticsRequest}
21992198
* @param options Additional request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized
22002199
* @return {@link EstimateMemoryUsageResponse} response object
22012200
* @throws IOException when there is a serialization issue sending the request or receiving the response
22022201
*/
2203-
public EstimateMemoryUsageResponse estimateMemoryUsage(EstimateMemoryUsageRequest request,
2202+
public EstimateMemoryUsageResponse estimateMemoryUsage(PutDataFrameAnalyticsRequest request,
22042203
RequestOptions options) throws IOException {
2205-
return restHighLevelClient.performRequestAndParseEntity(request,
2204+
return restHighLevelClient.performRequestAndParseEntity(
2205+
request,
22062206
MLRequestConverters::estimateMemoryUsage,
22072207
options,
22082208
EstimateMemoryUsageResponse::fromXContent,
@@ -2216,13 +2216,14 @@ public EstimateMemoryUsageResponse estimateMemoryUsage(EstimateMemoryUsageReques
22162216
* see <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/estimate-memory-usage-dfanalytics.html">
22172217
* Estimate Memory Usage for Data Frame Analytics documentation</a>
22182218
*
2219-
* @param request The {@link EstimateMemoryUsageRequest}
2219+
* @param request The {@link PutDataFrameAnalyticsRequest}
22202220
* @param options Additional request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized
22212221
* @param listener Listener to be notified upon request completion
22222222
*/
2223-
public void estimateMemoryUsageAsync(EstimateMemoryUsageRequest request, RequestOptions options,
2223+
public void estimateMemoryUsageAsync(PutDataFrameAnalyticsRequest request, RequestOptions options,
22242224
ActionListener<EstimateMemoryUsageResponse> listener) {
2225-
restHighLevelClient.performRequestAsyncAndParseEntity(request,
2225+
restHighLevelClient.performRequestAsyncAndParseEntity(
2226+
request,
22262227
MLRequestConverters::estimateMemoryUsage,
22272228
options,
22282229
EstimateMemoryUsageResponse::fromXContent,

client/rest-high-level/src/main/java/org/elasticsearch/client/ml/EstimateMemoryUsageRequest.java

Lines changed: 0 additions & 91 deletions
This file was deleted.

client/rest-high-level/src/test/java/org/elasticsearch/client/MLRequestConvertersTests.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
import org.elasticsearch.client.ml.DeleteForecastRequest;
3636
import org.elasticsearch.client.ml.DeleteJobRequest;
3737
import org.elasticsearch.client.ml.DeleteModelSnapshotRequest;
38-
import org.elasticsearch.client.ml.EstimateMemoryUsageRequest;
3938
import org.elasticsearch.client.ml.EvaluateDataFrameRequest;
4039
import org.elasticsearch.client.ml.FindFileStructureRequest;
4140
import org.elasticsearch.client.ml.FindFileStructureRequestTests;
@@ -797,13 +796,13 @@ public void testEvaluateDataFrame() throws IOException {
797796
}
798797

799798
public void testEstimateMemoryUsage() throws IOException {
800-
EstimateMemoryUsageRequest estimateRequest = new EstimateMemoryUsageRequest(randomDataFrameAnalyticsConfig());
799+
PutDataFrameAnalyticsRequest estimateRequest = new PutDataFrameAnalyticsRequest(randomDataFrameAnalyticsConfig());
801800
Request request = MLRequestConverters.estimateMemoryUsage(estimateRequest);
802801
assertEquals(HttpPost.METHOD_NAME, request.getMethod());
803802
assertEquals("/_ml/data_frame/analytics/_estimate_memory_usage", request.getEndpoint());
804803
try (XContentParser parser = createParser(JsonXContent.jsonXContent, request.getEntity().getContent())) {
805-
EstimateMemoryUsageRequest parsedRequest = EstimateMemoryUsageRequest.fromXContent(parser);
806-
assertThat(parsedRequest, equalTo(estimateRequest));
804+
DataFrameAnalyticsConfig parsedConfig = DataFrameAnalyticsConfig.fromXContent(parser);
805+
assertThat(parsedConfig, equalTo(estimateRequest.getConfig()));
807806
}
808807
}
809808

client/rest-high-level/src/test/java/org/elasticsearch/client/MachineLearningIT.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import org.elasticsearch.client.ml.DeleteJobRequest;
4545
import org.elasticsearch.client.ml.DeleteJobResponse;
4646
import org.elasticsearch.client.ml.DeleteModelSnapshotRequest;
47-
import org.elasticsearch.client.ml.EstimateMemoryUsageRequest;
4847
import org.elasticsearch.client.ml.EstimateMemoryUsageResponse;
4948
import org.elasticsearch.client.ml.EvaluateDataFrameRequest;
5049
import org.elasticsearch.client.ml.EvaluateDataFrameResponse;
@@ -1731,8 +1730,8 @@ public void testEstimateMemoryUsage() throws IOException {
17311730
highLevelClient().bulk(bulk1, RequestOptions.DEFAULT);
17321731

17331732
MachineLearningClient machineLearningClient = highLevelClient().machineLearning();
1734-
EstimateMemoryUsageRequest estimateMemoryUsageRequest =
1735-
new EstimateMemoryUsageRequest(
1733+
PutDataFrameAnalyticsRequest estimateMemoryUsageRequest =
1734+
new PutDataFrameAnalyticsRequest(
17361735
DataFrameAnalyticsConfig.builder()
17371736
.setSource(DataFrameAnalyticsSource.builder().setIndex(indexName).build())
17381737
.setAnalysis(OutlierDetection.createDefault())

client/rest-high-level/src/test/java/org/elasticsearch/client/ml/EstimateMemoryUsageRequestTests.java

Lines changed: 0 additions & 68 deletions
This file was deleted.

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/action/EstimateMemoryUsageAction.java

Lines changed: 0 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
*/
66
package org.elasticsearch.xpack.core.ml.action;
77

8-
import org.elasticsearch.action.ActionRequest;
9-
import org.elasticsearch.action.ActionRequestValidationException;
108
import org.elasticsearch.action.ActionResponse;
119
import org.elasticsearch.action.ActionType;
1210
import org.elasticsearch.common.Nullable;
@@ -18,14 +16,10 @@
1816
import org.elasticsearch.common.xcontent.ObjectParser;
1917
import org.elasticsearch.common.xcontent.ToXContentObject;
2018
import org.elasticsearch.common.xcontent.XContentBuilder;
21-
import org.elasticsearch.common.xcontent.XContentParser;
22-
import org.elasticsearch.xpack.core.ml.dataframe.DataFrameAnalyticsConfig;
23-
import org.elasticsearch.xpack.core.ml.utils.ExceptionsHelper;
2419

2520
import java.io.IOException;
2621
import java.util.Objects;
2722

28-
import static org.elasticsearch.common.xcontent.ConstructingObjectParser.constructorArg;
2923
import static org.elasticsearch.common.xcontent.ConstructingObjectParser.optionalConstructorArg;
3024

3125
public class EstimateMemoryUsageAction extends ActionType<EstimateMemoryUsageAction.Response> {
@@ -37,80 +31,6 @@ private EstimateMemoryUsageAction() {
3731
super(NAME, EstimateMemoryUsageAction.Response::new);
3832
}
3933

40-
public static class Request extends ActionRequest implements ToXContentObject {
41-
42-
private static final ParseField DATA_FRAME_ANALYTICS_CONFIG = new ParseField("data_frame_analytics_config");
43-
44-
private static final ConstructingObjectParser<EstimateMemoryUsageAction.Request, Void> PARSER =
45-
new ConstructingObjectParser<>(
46-
NAME,
47-
args -> {
48-
DataFrameAnalyticsConfig.Builder configBuilder = (DataFrameAnalyticsConfig.Builder) args[0];
49-
DataFrameAnalyticsConfig config = configBuilder.buildForMemoryEstimation();
50-
return new EstimateMemoryUsageAction.Request(config);
51-
});
52-
53-
static {
54-
PARSER.declareObject(constructorArg(), DataFrameAnalyticsConfig.STRICT_PARSER, DATA_FRAME_ANALYTICS_CONFIG);
55-
}
56-
57-
public static EstimateMemoryUsageAction.Request parseRequest(XContentParser parser) {
58-
return PARSER.apply(parser, null);
59-
}
60-
61-
private final DataFrameAnalyticsConfig config;
62-
63-
public Request(DataFrameAnalyticsConfig config) {
64-
this.config = ExceptionsHelper.requireNonNull(config, DATA_FRAME_ANALYTICS_CONFIG);
65-
}
66-
67-
public Request(StreamInput in) throws IOException {
68-
super(in);
69-
this.config = new DataFrameAnalyticsConfig(in);
70-
}
71-
72-
@Override
73-
public ActionRequestValidationException validate() {
74-
return null;
75-
}
76-
77-
public DataFrameAnalyticsConfig getConfig() {
78-
return config;
79-
}
80-
81-
@Override
82-
public void writeTo(StreamOutput out) throws IOException {
83-
super.writeTo(out);
84-
config.writeTo(out);
85-
}
86-
87-
@Override
88-
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
89-
builder.startObject();
90-
builder.field(DATA_FRAME_ANALYTICS_CONFIG.getPreferredName(), config);
91-
builder.endObject();
92-
return builder;
93-
}
94-
95-
@Override
96-
public boolean equals(Object other) {
97-
if (this == other) {
98-
return true;
99-
}
100-
if (other == null || getClass() != other.getClass()) {
101-
return false;
102-
}
103-
104-
Request that = (Request) other;
105-
return Objects.equals(config, that.config);
106-
}
107-
108-
@Override
109-
public int hashCode() {
110-
return Objects.hash(config);
111-
}
112-
}
113-
11434
public static class Response extends ActionResponse implements ToXContentObject {
11535

11636
public static final ParseField TYPE = new ParseField("memory_usage_estimation_result");

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/action/PutDataFrameAnalyticsAction.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ private PutDataFrameAnalyticsAction() {
3434

3535
public static class Request extends AcknowledgedRequest<Request> implements ToXContentObject {
3636

37+
/**
38+
* Parses request.
39+
*/
3740
public static Request parseRequest(String id, XContentParser parser) {
3841
DataFrameAnalyticsConfig.Builder config = DataFrameAnalyticsConfig.STRICT_PARSER.apply(parser, null);
3942
if (config.getId() == null) {
@@ -47,6 +50,17 @@ public static Request parseRequest(String id, XContentParser parser) {
4750
return new PutDataFrameAnalyticsAction.Request(config.build());
4851
}
4952

53+
/**
54+
* Parses request for memory estimation.
55+
* {@link Request} is reused across {@link PutDataFrameAnalyticsAction} and {@link EstimateMemoryUsageAction} but parsing differs
56+
* between these two usages.
57+
*/
58+
public static Request parseRequestForMemoryEstimation(XContentParser parser) {
59+
DataFrameAnalyticsConfig.Builder configBuilder = DataFrameAnalyticsConfig.STRICT_PARSER.apply(parser, null);
60+
DataFrameAnalyticsConfig config = configBuilder.buildForMemoryEstimation();
61+
return new PutDataFrameAnalyticsAction.Request(config);
62+
}
63+
5064
private DataFrameAnalyticsConfig config;
5165

5266
public Request() {}

0 commit comments

Comments
 (0)