Skip to content

Commit cdd4b67

Browse files
authored
Extract indexData method out of RegressionIT tests (#49306)
1 parent 4d659c4 commit cdd4b67

File tree

1 file changed

+29
-77
lines changed
  • x-pack/plugin/ml/qa/native-multi-node-tests/src/test/java/org/elasticsearch/xpack/ml/integration

1 file changed

+29
-77
lines changed

x-pack/plugin/ml/qa/native-multi-node-tests/src/test/java/org/elasticsearch/xpack/ml/integration/RegressionIT.java

+29-77
Original file line numberDiff line numberDiff line change
@@ -48,34 +48,7 @@ public void cleanup() {
4848

4949
public void testSingleNumericFeatureAndMixedTrainingAndNonTrainingRows() throws Exception {
5050
initialize("regression_single_numeric_feature_and_mixed_data_set");
51-
52-
{ // Index 350 rows, 300 of them being training rows.
53-
client().admin().indices().prepareCreate(sourceIndex)
54-
.addMapping("_doc", NUMERICAL_FEATURE_FIELD, "type=double", DEPENDENT_VARIABLE_FIELD, "type=double")
55-
.get();
56-
57-
BulkRequestBuilder bulkRequestBuilder = client().prepareBulk()
58-
.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
59-
for (int i = 0; i < 300; i++) {
60-
Double field = NUMERICAL_FEATURE_VALUES.get(i % 3);
61-
Double value = DEPENDENT_VARIABLE_VALUES.get(i % 3);
62-
63-
IndexRequest indexRequest = new IndexRequest(sourceIndex)
64-
.source(NUMERICAL_FEATURE_FIELD, field, DEPENDENT_VARIABLE_FIELD, value);
65-
bulkRequestBuilder.add(indexRequest);
66-
}
67-
for (int i = 300; i < 350; i++) {
68-
Double field = NUMERICAL_FEATURE_VALUES.get(i % 3);
69-
70-
IndexRequest indexRequest = new IndexRequest(sourceIndex)
71-
.source(NUMERICAL_FEATURE_FIELD, field);
72-
bulkRequestBuilder.add(indexRequest);
73-
}
74-
BulkResponse bulkResponse = bulkRequestBuilder.get();
75-
if (bulkResponse.hasFailures()) {
76-
fail("Failed to index data: " + bulkResponse.buildFailureMessage());
77-
}
78-
}
51+
indexData(sourceIndex, 300, 50);
7952

8053
DataFrameAnalyticsConfig config = buildAnalytics(jobId, sourceIndex, destIndex, null, new Regression(DEPENDENT_VARIABLE_FIELD));
8154
registerAnalytics(config);
@@ -120,23 +93,7 @@ public void testSingleNumericFeatureAndMixedTrainingAndNonTrainingRows() throws
12093

12194
public void testWithOnlyTrainingRowsAndTrainingPercentIsHundred() throws Exception {
12295
initialize("regression_only_training_data_and_training_percent_is_100");
123-
124-
{ // Index 350 rows, all of them being training rows.
125-
BulkRequestBuilder bulkRequestBuilder = client().prepareBulk()
126-
.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
127-
for (int i = 0; i < 350; i++) {
128-
Double field = NUMERICAL_FEATURE_VALUES.get(i % 3);
129-
Double value = DEPENDENT_VARIABLE_VALUES.get(i % 3);
130-
131-
IndexRequest indexRequest = new IndexRequest(sourceIndex)
132-
.source(NUMERICAL_FEATURE_FIELD, field, DEPENDENT_VARIABLE_FIELD, value);
133-
bulkRequestBuilder.add(indexRequest);
134-
}
135-
BulkResponse bulkResponse = bulkRequestBuilder.get();
136-
if (bulkResponse.hasFailures()) {
137-
fail("Failed to index data: " + bulkResponse.buildFailureMessage());
138-
}
139-
}
96+
indexData(sourceIndex, 350, 0);
14097

14198
DataFrameAnalyticsConfig config = buildAnalytics(jobId, sourceIndex, destIndex, null, new Regression(DEPENDENT_VARIABLE_FIELD));
14299
registerAnalytics(config);
@@ -173,23 +130,7 @@ public void testWithOnlyTrainingRowsAndTrainingPercentIsHundred() throws Excepti
173130

174131
public void testWithOnlyTrainingRowsAndTrainingPercentIsFifty() throws Exception {
175132
initialize("regression_only_training_data_and_training_percent_is_50");
176-
177-
{ // Index 350 rows, all of them being training rows.
178-
BulkRequestBuilder bulkRequestBuilder = client().prepareBulk()
179-
.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
180-
for (int i = 0; i < 350; i++) {
181-
Double field = NUMERICAL_FEATURE_VALUES.get(i % 3);
182-
Double value = DEPENDENT_VARIABLE_VALUES.get(i % 3);
183-
184-
IndexRequest indexRequest = new IndexRequest(sourceIndex)
185-
.source(NUMERICAL_FEATURE_FIELD, field, DEPENDENT_VARIABLE_FIELD, value);
186-
bulkRequestBuilder.add(indexRequest);
187-
}
188-
BulkResponse bulkResponse = bulkRequestBuilder.get();
189-
if (bulkResponse.hasFailures()) {
190-
fail("Failed to index data: " + bulkResponse.buildFailureMessage());
191-
}
192-
}
133+
indexData(sourceIndex, 350, 0);
193134

194135
DataFrameAnalyticsConfig config =
195136
buildAnalytics(
@@ -242,21 +183,7 @@ public void testWithOnlyTrainingRowsAndTrainingPercentIsFifty() throws Exception
242183
@AwaitsFix(bugUrl="https://github.com/elastic/elasticsearch/issues/49095")
243184
public void testStopAndRestart() throws Exception {
244185
initialize("regression_stop_and_restart");
245-
246-
BulkRequestBuilder bulkRequestBuilder = client().prepareBulk()
247-
.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
248-
for (int i = 0; i < 350; i++) {
249-
Double field = NUMERICAL_FEATURE_VALUES.get(i % 3);
250-
Double value = DEPENDENT_VARIABLE_VALUES.get(i % 3);
251-
252-
IndexRequest indexRequest = new IndexRequest(sourceIndex)
253-
.source("feature", field, "variable", value);
254-
bulkRequestBuilder.add(indexRequest);
255-
}
256-
BulkResponse bulkResponse = bulkRequestBuilder.get();
257-
if (bulkResponse.hasFailures()) {
258-
fail("Failed to index data: " + bulkResponse.buildFailureMessage());
259-
}
186+
indexData(sourceIndex, 350, 0);
260187

261188
DataFrameAnalyticsConfig config = buildAnalytics(jobId, sourceIndex, destIndex, null, new Regression(DEPENDENT_VARIABLE_FIELD));
262189
registerAnalytics(config);
@@ -310,6 +237,31 @@ private void initialize(String jobId) {
310237
this.destIndex = sourceIndex + "_results";
311238
}
312239

240+
private static void indexData(String sourceIndex, int numTrainingRows, int numNonTrainingRows) {
241+
client().admin().indices().prepareCreate(sourceIndex)
242+
.addMapping("_doc", NUMERICAL_FEATURE_FIELD, "type=double", DEPENDENT_VARIABLE_FIELD, "type=double")
243+
.get();
244+
245+
BulkRequestBuilder bulkRequestBuilder = client().prepareBulk()
246+
.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
247+
for (int i = 0; i < numTrainingRows; i++) {
248+
List<Object> source = List.of(
249+
NUMERICAL_FEATURE_FIELD, NUMERICAL_FEATURE_VALUES.get(i % NUMERICAL_FEATURE_VALUES.size()),
250+
DEPENDENT_VARIABLE_FIELD, DEPENDENT_VARIABLE_VALUES.get(i % DEPENDENT_VARIABLE_VALUES.size()));
251+
IndexRequest indexRequest = new IndexRequest(sourceIndex).source(source.toArray());
252+
bulkRequestBuilder.add(indexRequest);
253+
}
254+
for (int i = numTrainingRows; i < numTrainingRows + numNonTrainingRows; i++) {
255+
List<Object> source = List.of(NUMERICAL_FEATURE_FIELD, NUMERICAL_FEATURE_VALUES.get(i % NUMERICAL_FEATURE_VALUES.size()));
256+
IndexRequest indexRequest = new IndexRequest(sourceIndex).source(source.toArray());
257+
bulkRequestBuilder.add(indexRequest);
258+
}
259+
BulkResponse bulkResponse = bulkRequestBuilder.get();
260+
if (bulkResponse.hasFailures()) {
261+
fail("Failed to index data: " + bulkResponse.buildFailureMessage());
262+
}
263+
}
264+
313265
private static Map<String, Object> getDestDoc(DataFrameAnalyticsConfig config, SearchHit hit) {
314266
GetResponse destDocGetResponse = client().prepareGet().setIndex(config.getDest().getIndex()).setId(hit.getId()).get();
315267
assertThat(destDocGetResponse.isExists(), is(true));

0 commit comments

Comments
 (0)