diff --git a/x-pack/legacy/plugins/task_manager/server/queries/mark_available_tasks_as_claimed.ts b/x-pack/legacy/plugins/task_manager/server/queries/mark_available_tasks_as_claimed.ts index 6691b31a546bc..aac5febc57dcf 100644 --- a/x-pack/legacy/plugins/task_manager/server/queries/mark_available_tasks_as_claimed.ts +++ b/x-pack/legacy/plugins/task_manager/server/queries/mark_available_tasks_as_claimed.ts @@ -95,29 +95,9 @@ if (doc['task.runAt'].size()!=0) { }, }; -const SORT_VALUE_TO_BE_FIRST = 0; +// function changed to stop sorting by _id: https://github.com/elastic/kibana/issues/52517 export const sortByIdsThenByScheduling = (claimTasksById: string[]): SortClause => { - const { - _script: { - script: { source }, - }, - } = SortByRunAtAndRetryAt; - return defaultsDeep( - { - _script: { - script: { - source: ` -if(params.ids.contains(doc['_id'].value)){ - return ${SORT_VALUE_TO_BE_FIRST}; -} -${source} -`, - params: { ids: claimTasksById }, - }, - }, - }, - SortByRunAtAndRetryAt - ); + return SortByRunAtAndRetryAt; }; export const updateFields = (fieldUpdates: { diff --git a/x-pack/legacy/plugins/task_manager/server/task_store.test.ts b/x-pack/legacy/plugins/task_manager/server/task_store.test.ts index c7a0a1a020721..c831b1e503b13 100644 --- a/x-pack/legacy/plugins/task_manager/server/task_store.test.ts +++ b/x-pack/legacy/plugins/task_manager/server/task_store.test.ts @@ -203,7 +203,7 @@ describe('TaskStore', () => { expect(args).toMatchObject({ index: 'tasky', body: { - sort: [{ 'task.runAt': 'asc' }, { _id: 'desc' }], + sort: [{ 'task.runAt': 'asc' }], query: { term: { type: 'task' } }, }, }); @@ -234,7 +234,7 @@ describe('TaskStore', () => { expect(args).toMatchObject({ body: { - sort: [{ 'task.taskType': 'desc' }, { _id: 'desc' }], + sort: [{ 'task.taskType': 'desc' }], }, }); }); @@ -669,24 +669,13 @@ describe('TaskStore', () => { script: { lang: 'painless', source: ` -if(params.ids.contains(doc['_id'].value)){ - return 0; -} - if (doc['task.retryAt'].size()!=0) { return doc['task.retryAt'].value.toInstant().toEpochMilli(); } if (doc['task.runAt'].size()!=0) { return doc['task.runAt'].value.toInstant().toEpochMilli(); } - -`, - params: { - ids: [ - 'task:33c6977a-ed6d-43bd-98d9-3f827f7b7cd8', - 'task:a208b22c-14ec-4fb4-995f-d2ff7a3b03b8', - ], - }, + `, }, }, }); diff --git a/x-pack/legacy/plugins/task_manager/server/task_store.ts b/x-pack/legacy/plugins/task_manager/server/task_store.ts index e8fc0ccb90936..21746809c1bc4 100644 --- a/x-pack/legacy/plugins/task_manager/server/task_store.ts +++ b/x-pack/legacy/plugins/task_manager/server/task_store.ts @@ -427,18 +427,13 @@ export class TaskStore { } } +// function changed to stop sorting by _id: https://github.com/elastic/kibana/issues/52517 function paginatableSort(sort: any[] = []) { - const sortById = { _id: 'desc' }; - if (!sort.length) { - return [{ 'task.runAt': 'asc' }, sortById]; - } - - if (sort.find(({ _id }) => !!_id)) { - return sort; + return [{ 'task.runAt': 'asc' }]; } - return [...sort, sortById]; + return sort; } function taskInstanceToAttributes(doc: TaskInstance): SavedObjectAttributes {