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

[Reporting] Ensure uniform enablement of the plugin #121020

Conversation

tsullivan
Copy link
Member

@tsullivan tsullivan commented Dec 9, 2021

Summary

Addresses the first part of #120995

Kibana has safety checks built into the Saved Objects system to ensure that an instance doesn't start if there is an unknown SO type in the data (CHECK_UNKNOWN_DOCUMENTS). This PR gives the Reporting plugin a new saved object type to take advantage of that safety check.

Having a mixed configuration, where Reporting is completely disabled on some instance(s) of Kibana but not others, is not supported because it corrupts the reporting task instances. Today, there is no way for the user to know if they are inadvertently creating that situation - they must resolve the data corruption manually after noticing that Reporting is broken.

Reporting can still be disabled for the most part by setting xpack.reporting.queue.pollEnabled: false in the kibana.yml. This setting does not need to be uniformly set across all Kibana instances.

Checklist

Delete any items that are not applicable to this PR.

@tsullivan tsullivan force-pushed the reporting/register-versioning-saved-object branch 5 times, most recently from 096d5b2 to d976675 Compare December 9, 2021 23:56
@tsullivan tsullivan force-pushed the reporting/register-versioning-saved-object branch from e121bec to 0f1b552 Compare December 10, 2021 00:23
@tsullivan tsullivan requested review from a team December 10, 2021 00:25
@kibana-ci
Copy link
Collaborator

⏳ Build in-progress, with failures

Failed CI Steps

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

@pgayvallet
Copy link
Contributor

pgayvallet commented Dec 13, 2021

Kibana has safety checks built into the Saved Objects system to ensure that an instance doesn't start if there is an unknown SO type in the data (CHECK_UNKNOWN_DOCUMENTS).

I'm not sure to fully understand the intent of the PR.

  1. Forcefully creating a new SO type just for it to get caught by the unknown doc check if an instance has a specific plugin disabled seems like a misusage of the whole intent of this check to be honest.

  2. More importantly, CHECK_UNKNOWN_DOCUMENTS is only performed during a version migration/upgrade. Once the Kibana system indices are migrated, this check is not performed again when a node gets online, so it wouldn't block the user from shutting down a node, disabling reporting, then re-enabling the node, right?

Reporting in Kibana breaks down when the Reporting plugin is disabled on some instances but enabled on others

May we get more info on what exactly breaks when some nodes has reporting enabled and some don't? I'm guessing it's related to task manager somehow?

@tsullivan
Copy link
Member Author

@pgayvallet Thanks for looking at this and helping me understand the capabilities and intent of the "check unknown documents" phase.

May we get more info on what exactly breaks when some nodes has reporting enabled and some don't? I'm guessing it's related to task manager somehow?

Yes - the problem is related to TM. When an instance of Kibana has Reporting completely disabled in config, task manager will mark the stored task instance as "unrecognized" and stop it from running anywhere.

This should have been more clearly answered in #120995. I have updated the issue description to talk about the problem we want to solve.

@tsullivan tsullivan closed this Dec 13, 2021
@tsullivan tsullivan deleted the reporting/register-versioning-saved-object branch December 27, 2021 20:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants