Skip to content

Commit 17cd533

Browse files
authored
[Dataset Quality] Fix ES Promotion forward compatibility test failures for ES 9.0 (#224920)
Updates the Dataset Quality functional test suite to skip tests when running in Kibana 8.19 against Elasticsearch 9.0 in a forward compatibility test run. , where the `read_failure_store` index privilege is not available. The privilege checks for `read_failure_store` fail as they are incompatible with ES 9.0, since ES 9.0 does not support Failure Store. #### Context While investigating e2e test failures related to the missing `read_failure_store` privilege in ES 9.0, it was found that almost all Dataset Quality test suites fail. The failures occur because the following endpoints which most of the e2e tests depend on, check for this privilege and error out: - `/settings` - `/details` - `/total_docs` - `/stats` #### Error thrown by endpoints: ```yaml error: "Internal Server Error" message: "illegal_argument_exception\n\tRoot causes:\n\t\tillegal_argument_exception: unknown index privilege [read_failure_store]. a privilege must be either one of the predefined fixed indices privileges [all,auto_configure,create,create_doc,create_index,cross_cluster_replication,cross_cluster_replication_internal,delete,delete_index,index,maintenance,manage,manage_data_stream_lifecycle,manage_follow_index,manage_ilm,manage_leader_index,monitor,none,read,read_cross_cluster,view_index_metadata,write] or a pattern over one of the available index actions" statusCode: 500 ``` #### Screenshots <table> <tr><th>Main Page</th><th>Details Page</th></tr> <tr> <td> ![image](https://github.com/user-attachments/assets/7bd56da7-e4ca-44c2-91d1-4d6adea7af96) </td> <td> ![image](https://github.com/user-attachments/assets/ca392166-36dc-4a2a-8dc4-5d5c0d72ed59) </td> </tr> </table>
1 parent 869e162 commit 17cd533

6 files changed

Lines changed: 60 additions & 10 deletions

File tree

x-pack/test/functional/apps/dataset_quality/dataset_quality_details.ts

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
129129
await synthtrace.deleteCustomPipeline('synth.2@pipeline');
130130
});
131131

132-
describe('navigate to dataset details', () => {
132+
describe('navigate to dataset details', function () {
133+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
134+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
135+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
136+
this.onlyEsVersion('8.19 || >=9.1');
137+
133138
it('should navigate to right dataset', async () => {
134139
await PageObjects.datasetQuality.navigateToDetails({ dataStream: regularDataStreamName });
135140

@@ -193,7 +198,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
193198
});
194199
});
195200

196-
describe('overview summary panel', () => {
201+
describe('overview summary panel', function () {
202+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
203+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
204+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
205+
this.onlyEsVersion('8.19 || >=9.1');
206+
197207
it('should show summary KPIs', async () => {
198208
await PageObjects.datasetQuality.navigateToDetails({
199209
dataStream: apacheAccessDataStreamName,
@@ -209,7 +219,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
209219
});
210220
});
211221

212-
describe('failed docs', () => {
222+
describe('failed docs', function () {
223+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
224+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
225+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
226+
this.onlyEsVersion('8.19 || >=9.1');
227+
213228
it('should show it in summary KPIs', async () => {
214229
await PageObjects.datasetQuality.navigateToDetails({
215230
dataStream: failedDataStreamName,
@@ -275,7 +290,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
275290
});
276291
});
277292

278-
describe('overview integrations', () => {
293+
describe('overview integrations', function () {
294+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
295+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
296+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
297+
this.onlyEsVersion('8.19 || >=9.1');
298+
279299
it('should hide the integration section for non integrations', async () => {
280300
await PageObjects.datasetQuality.navigateToDetails({
281301
dataStream: regularDataStreamName,
@@ -448,7 +468,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
448468
});
449469
});
450470

451-
describe('degraded fields table', () => {
471+
describe('degraded fields table', function () {
472+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
473+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
474+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
475+
this.onlyEsVersion('8.19 || >=9.1');
476+
452477
it(' should show empty degraded fields table when no degraded fields are present', async () => {
453478
await PageObjects.datasetQuality.navigateToDetails({
454479
dataStream: regularDataStreamName,

x-pack/test/functional/apps/dataset_quality/dataset_quality_privileges.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
132132
});
133133
});
134134

135-
describe('User can monitor some data streams', () => {
135+
describe('User can monitor some data streams', function () {
136+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
137+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
138+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
139+
this.onlyEsVersion('8.19 || >=9.1');
140+
136141
before(async () => {
137142
// Index logs for synth-* and apache.access datasets
138143
await synthtrace.index(getInitialTestLogs({ to, count: 4 }));

x-pack/test/functional/apps/dataset_quality/dataset_quality_table.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
4040

4141
const failedDatasetName = datasetNames[1];
4242

43-
describe('Dataset quality table', () => {
43+
describe('Dataset quality table', function () {
44+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
45+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
46+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
47+
this.onlyEsVersion('8.19 || >=9.1');
48+
4449
before(async () => {
4550
// Install Integration and ingest logs for it
4651
await PageObjects.observabilityLogsExplorer.installPackage(pkg);

x-pack/test/functional/apps/dataset_quality/dataset_quality_table_filters.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
2828
};
2929
const allDatasetNames = [apacheAccessDatasetHumanName, ...datasetNames];
3030

31-
describe('Dataset quality table filters', () => {
31+
describe('Dataset quality table filters', function () {
32+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
33+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
34+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
35+
this.onlyEsVersion('8.19 || >=9.1');
36+
3237
before(async () => {
3338
// Install Integration and ingest logs for it
3439
await PageObjects.observabilityLogsExplorer.installPackage(pkg);

x-pack/test/functional/apps/dataset_quality/degraded_field_flyout.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
5353
const apmAppDatasetName = 'apm.app.tug';
5454
const apmAppDataStreamName = `${type}-${apmAppDatasetName}-${defaultNamespace}`;
5555

56-
describe('Degraded fields flyout', () => {
56+
describe('Degraded fields flyout', function () {
57+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
58+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
59+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
60+
this.onlyEsVersion('8.19 || >=9.1');
61+
5762
describe('degraded field flyout open-close', () => {
5863
before(async () => {
5964
await synthtrace.index([

x-pack/test/functional/apps/dataset_quality/failed_docs_flyout.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,12 @@ export default function ({ getService, getPageObjects }: DatasetQualityFtrProvid
2929
const failedDatasetName = datasetNames[1];
3030
const failedDataStreamName = `${type}-${failedDatasetName}-${defaultNamespace}`;
3131

32-
describe('Failed docs flyout', () => {
32+
describe('Failed docs flyout', function () {
33+
// This disables the forward-compatibility test for Elasticsearch 8.19 with Kibana and ES 9.0.
34+
// These versions are not expected to work together. Note: Failure store is not available in ES 9.0,
35+
// and running these tests will result in an "unknown index privilege [read_failure_store]" error.
36+
this.onlyEsVersion('8.19 || >=9.1');
37+
3338
describe('failed docs flyout open-close', () => {
3439
before(async () => {
3540
await synthtrace.createCustomPipeline(processors, 'synth.2@pipeline');

0 commit comments

Comments
 (0)