Revert "[Task Manager] Force validation on all tasks using state (#16… (#167877)

Revert of https://github.com/elastic/kibana/pull/164574

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Xavier Mouligneau <xavier.mouligneau@elastic.co>
This commit is contained in:
Mike Côté 2023-10-03 17:50:20 -04:00 committed by GitHub
parent 2256a7a80d
commit 395f75eadc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 9 deletions

View file

@ -64,7 +64,9 @@ describe('TaskValidator', () => {
expect(result).toEqual(task);
});
it(`should fail to validate the state schema when the task type doesn't have stateSchemaByVersion defined`, () => {
// TODO: Remove skip once all task types have defined their state schema.
// https://github.com/elastic/kibana/issues/159347
it.skip(`should fail to validate the state schema when the task type doesn't have stateSchemaByVersion defined`, () => {
const definitions = new TaskTypeDictionary(mockLogger());
definitions.registerTaskDefinitions({
foo: fooTaskDefinition,
@ -320,7 +322,9 @@ describe('TaskValidator', () => {
expect(result).toEqual(task);
});
it(`should fail to validate the state schema when the task type doesn't have stateSchemaByVersion defined`, () => {
// TODO: Remove skip once all task types have defined their state schema.
// https://github.com/elastic/kibana/issues/159347
it.skip(`should fail to validate the state schema when the task type doesn't have stateSchemaByVersion defined`, () => {
const definitions = new TaskTypeDictionary(mockLogger());
definitions.registerTaskDefinitions({
foo: fooTaskDefinition,

View file

@ -5,7 +5,7 @@
* 2.0.
*/
import { max, memoize, isEmpty } from 'lodash';
import { max, memoize } from 'lodash';
import type { Logger } from '@kbn/core/server';
import type { ObjectType } from '@kbn/config-schema';
import { TaskTypeDictionary } from './task_type_dictionary';
@ -64,13 +64,14 @@ export class TaskValidator {
const taskTypeDef = this.definitions.get(task.taskType);
const latestStateSchema = this.cachedGetLatestStateSchema(taskTypeDef);
let state = task.state;
// Skip validating tasks that don't use state
if (!latestStateSchema && isEmpty(state)) {
// TODO: Remove once all task types have defined their state schema.
// https://github.com/elastic/kibana/issues/159347
// Otherwise, failures on read / write would occur. (don't forget to unskip test)
if (!latestStateSchema) {
return task;
}
let state = task.state;
try {
state = this.getValidatedStateSchema(
this.migrateTaskState(task.state, task.stateVersion, taskTypeDef, latestStateSchema),
@ -110,8 +111,10 @@ export class TaskValidator {
const taskTypeDef = this.definitions.get(task.taskType);
const latestStateSchema = this.cachedGetLatestStateSchema(taskTypeDef);
// Skip validating tasks that don't use state
if (!latestStateSchema && isEmpty(task.state)) {
// TODO: Remove once all task types have defined their state schema.
// https://github.com/elastic/kibana/issues/159347
// Otherwise, failures on read / write would occur. (don't forget to unskip test)
if (!latestStateSchema) {
return task;
}