Skip to content

Commit 7985bda

Browse files
[ML] Fix new job wizard with multiple indices (#64567) (#64694)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
1 parent da434e4 commit 7985bda

File tree

5 files changed

+17
-6
lines changed

5 files changed

+17
-6
lines changed

x-pack/plugins/ml/common/util/job_utils.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,5 @@ export function getLatestDataOrBucketTimestamp(
5252
): number;
5353

5454
export function prefixDatafeedId(datafeedId: string, prefix: string): string;
55+
56+
export function splitIndexPatternNames(indexPatternName: string): string[];

x-pack/plugins/ml/common/util/job_utils.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,3 +588,9 @@ export function processCreatedBy(customSettings) {
588588
delete customSettings.created_by;
589589
}
590590
}
591+
592+
export function splitIndexPatternNames(indexPatternName) {
593+
return indexPatternName.includes(',')
594+
? indexPatternName.split(',').map(i => i.trim())
595+
: [indexPatternName];
596+
}

x-pack/plugins/ml/public/application/jobs/new_job/common/job_creator/util/default_configs.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import { IndexPatternTitle } from '../../../../../../../common/types/kibana';
88
import { Field, Aggregation, EVENT_RATE_FIELD_ID } from '../../../../../../../common/types/fields';
99
import { Job, Datafeed, Detector } from '../../../../../../../common/types/anomaly_detection_jobs';
10+
import { splitIndexPatternNames } from '../../../../../../../common/util/job_utils';
1011

1112
export function createEmptyJob(): Job {
1213
return {
@@ -28,7 +29,7 @@ export function createEmptyDatafeed(indexPatternTitle: IndexPatternTitle): Dataf
2829
return {
2930
datafeed_id: '',
3031
job_id: '',
31-
indices: [indexPatternTitle],
32+
indices: splitIndexPatternNames(indexPatternTitle),
3233
query: {},
3334
};
3435
}

x-pack/plugins/ml/public/application/jobs/new_job/pages/index_or_search/preconfigured_job_redirect.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function getWizardUrlFromCloningJob(job: CombinedJob) {
5050
break;
5151
}
5252

53-
const indexPatternId = getIndexPatternIdFromName(job.datafeed_config.indices[0]);
53+
const indexPatternId = getIndexPatternIdFromName(job.datafeed_config.indices.join());
5454

5555
return `jobs/new_job/${page}?index=${indexPatternId}&_g=()`;
5656
}

x-pack/plugins/ml/server/models/data_recognizer/data_recognizer.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ import {
2929
JobSpecificOverride,
3030
isGeneralJobOverride,
3131
} from '../../../common/types/modules';
32-
import { getLatestDataOrBucketTimestamp, prefixDatafeedId } from '../../../common/util/job_utils';
32+
import {
33+
getLatestDataOrBucketTimestamp,
34+
prefixDatafeedId,
35+
splitIndexPatternNames,
36+
} from '../../../common/util/job_utils';
3337
import { mlLog } from '../../client/log';
3438
import { calculateModelMemoryLimitProvider } from '../calculate_model_memory_limit';
3539
import { fieldsServiceProvider } from '../fields_service';
@@ -828,9 +832,7 @@ export class DataRecognizer {
828832
updateDatafeedIndices(moduleConfig: Module) {
829833
// if the supplied index pattern contains a comma, split into multiple indices and
830834
// add each one to the datafeed
831-
const indexPatternNames = this.indexPatternName.includes(',')
832-
? this.indexPatternName.split(',').map(i => i.trim())
833-
: [this.indexPatternName];
835+
const indexPatternNames = splitIndexPatternNames(this.indexPatternName);
834836

835837
moduleConfig.datafeeds.forEach(df => {
836838
const newIndices: string[] = [];

0 commit comments

Comments
 (0)