Skip to content

Commit 26da573

Browse files
authored
[ML] [7.x] Only emit deprecation warning if there was actual change of a datafeed's job_id. (elastic#44755)
* Only emit deprecation warning if there was actual change of a datafeed's job_id. * Add @deprecated annotation to DatafeedUpdate.Builder#setJobId method
1 parent 58a4bad commit 26da573

File tree

4 files changed

+19
-3
lines changed

4 files changed

+19
-3
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ public Builder(DatafeedUpdate config) {
287287
this.delayedDataCheckConfig = config.delayedDataCheckConfig;
288288
}
289289

290+
@Deprecated
290291
public Builder setJobId(String jobId) {
291292
this.jobId = jobId;
292293
return this;

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,11 @@ public void testUpdateDatafeed_UpdatingJobIdIsDeprecated() throws Exception {
478478
DatafeedConfig datafeedConfig = DatafeedConfig.builder(datafeedId, jobId).setIndices("some_data_index").build();
479479
execute(new PutDatafeedRequest(datafeedConfig), machineLearningClient::putDatafeed, machineLearningClient::putDatafeedAsync);
480480

481+
DatafeedUpdate datafeedUpdateWithUnchangedJobId = DatafeedUpdate.builder(datafeedId).setJobId(jobId).build();
482+
execute(new UpdateDatafeedRequest(datafeedUpdateWithUnchangedJobId),
483+
machineLearningClient::updateDatafeed,
484+
machineLearningClient::updateDatafeedAsync);
485+
481486
DatafeedUpdate datafeedUpdateWithChangedJobId = DatafeedUpdate.builder(datafeedId).setJobId(anotherJobId).build();
482487
WarningFailureException exception = expectThrows(
483488
WarningFailureException.class,

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/ml/datafeed/DatafeedUpdate.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,6 @@ private DatafeedUpdate(String id, String jobId, TimeValue queryDelay, TimeValue
110110
this.scrollSize = scrollSize;
111111
this.chunkingConfig = chunkingConfig;
112112
this.delayedDataCheckConfig = delayedDataCheckConfig;
113-
if (jobId != null) {
114-
deprecationLogger.deprecated(DEPRECATION_MESSAGE_ON_JOB_ID_UPDATE);
115-
}
116113
}
117114

118115
public DatafeedUpdate(StreamInput in) throws IOException {
@@ -304,6 +301,9 @@ public DatafeedConfig apply(DatafeedConfig datafeedConfig, Map<String, String> h
304301

305302
DatafeedConfig.Builder builder = new DatafeedConfig.Builder(datafeedConfig);
306303
if (jobId != null) {
304+
if (datafeedConfig.getJobId() != null && datafeedConfig.getJobId().equals(jobId) == false) {
305+
deprecationLogger.deprecated(DEPRECATION_MESSAGE_ON_JOB_ID_UPDATE);
306+
}
307307
builder.setJobId(jobId);
308308
}
309309
if (queryDelay != null) {

x-pack/plugin/src/test/resources/rest-api-spec/test/ml/datafeeds_crud.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,16 @@ setup:
215215
"indexes":["index-foo"],
216216
"scroll_size": 2000
217217
}
218+
- match: { job_id: "datafeeds-crud-1" }
219+
220+
- do:
221+
ml.update_datafeed:
222+
datafeed_id: test-datafeed-1
223+
body: >
224+
{
225+
"job_id": "datafeeds-crud-1"
226+
}
227+
- match: { job_id: "datafeeds-crud-1" }
218228

219229
- do:
220230
warnings:

0 commit comments

Comments
 (0)