Refactor static cloud compatibility check for inputs #19033
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
/nocl (bug in unreleased change)
/prd Graylog2/graylog-plugin-enterprise#7044
Relates to Graylog2/graylog-plugin-enterprise#7019
#18769 changed the signature of
MessageInput.Descriptor
methods to be static, to support pre-install compatibility checks for content packs. However, other parts of the code rely on dynamic overriding of these methods.To support both use cases, we revert back to the original state and instead introduce a static check method, specifically for content pack imports in Cloud. All
MessageInput
subclasses that want to be cloud-compatible need to define this new static method inMessageInput.Descriptor
.How Has This Been Tested?
Note: an exception is thrown when uninstalling a content pack. It is related to audit logging and is not relevant to this issue, since it reproduces on
master
. We should fix that separately (#19034).Types of changes
Checklist: