Fix downsample persistent task params serialization (#106878) #106896
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.
Missing a check on the transport version results in unreadable cluster
state if it includes a serialized instance of DownsampleShardTaskParams.
serie indices. Reading an optional array requires reading a boolean
first which is required to know if an array of values exists in
serialized form. From 8.13 on we try to read such a boolean which is not
there because older versions don't write any boolean nor any string
array. Here we include the check on versions for backward compatibility
skipping reading any boolean or array whatsoever whenever not possible.
Customers using downsampling might have cluster states including such
serielized objects and would be unable to upgrade to version 8.13. They
will be able to upgrade to any version including this fix.
This fix has a side effect #106880
Backport of #106878 to 8.13