Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

migrations reindex timeout test, use an existing source index #167349

Closed
wants to merge 2 commits into from

Conversation

rudolf
Copy link
Contributor

@rudolf rudolf commented Sep 26, 2023

Summary

Fixes #166190

Seems like latest snapshots of Elasticsearch are sometimes able to do a little bit more work in between starting the reindex task and querying for it's completion with a 0s timeout. In this brief period of time, Elasticsearch realises that our test is trying to reindex from a source index that doesn't exist.

By using an index that actually exists ES should be able to get past this point and start indexing documents, hopefully without fully completing until we ask for the task status.

Checklist

Delete any items that are not applicable to this PR.

Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release.

When forming the risk matrix, consider some of the following examples and how they may potentially impact the change:

Risk Probability Severity Mitigation/Notes
Multiple Spaces—unexpected behavior in non-default Kibana Space. Low High Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces.
Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. High Low Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure.
Code should gracefully handle cases when feature X or plugin Y are disabled. Medium High Unit tests will verify that any feature flag or plugin combination still results in our service operational.
See more potential risk examples

For maintainers

@rudolf rudolf added the Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc label Sep 26, 2023
@rudolf rudolf requested a review from a team as a code owner September 26, 2023 21:02
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-core (Team:Core)

const res = (await reindex({
client,
sourceIndex: '.kibana_1',
sourceIndex: 'existing_index_with_docs',
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

while we don't have any test failures from this test, it's theoretically possible that the same thing could happen here, so switching to an index that does actually exist for good measure.

@rudolf rudolf added the release_note:skip Skip the PR/issue when compiling release notes label Sep 26, 2023
@rudolf rudolf enabled auto-merge (squash) September 26, 2023 21:39
@rudolf rudolf marked this pull request as draft September 27, 2023 22:26
auto-merge was automatically disabled September 27, 2023 22:26

Pull request was converted to draft

@kibana-ci
Copy link
Collaborator

💚 Build Succeeded

Metrics [docs]

✅ unchanged

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@gsoldevila
Copy link
Contributor

IIUC this PR has already been solved by #167359 ?

@rudolf
Copy link
Contributor Author

rudolf commented Oct 2, 2023

IIUC this PR has already been solved by #167359 ?

Yes, I accidently included this commit in the other PR. Sadly it didn't work anyway 👎

@rudolf rudolf closed this Oct 2, 2023
@rudolf rudolf deleted the fix-failing-test-166190 branch October 2, 2023 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release_note:skip Skip the PR/issue when compiling release notes Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
4 participants