Fix datastore corruption on reload due to shrinking config size #2340
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.
This commit fixes a corruption in the datastore that leads to workers becoming
unresponsive due to an invalid configuration.
The bug occurs when the cluster config serialization output length shrinks
below the current config's output length. This typically only happens on
workers since leaders modify their own config directly instead of importing the
serialized version from the kv backend.
This commit truncates the object field before reloading the new config from the
kv, as is done during initial config load.
fixes #2328