vttablet: trigger rolling restart when storage size changes #742
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.
Description
Currently, when a user increases the storage size in the
dataVolumeClaimTemplateof aVitessClusterCRD, the operator correctly updates the underlying PVC, but it does not trigger a rolling restart of the vttablet pods.In many Kubernetes environments and storage classes, a pod restart is required for the file system to recognize the new capacity of the volume. Without this restart, the MySQL process inside vttablet might continue to see the old disk size.
Changes
AddStringmethod topkg/operator/desiredstatehash/desiredstatehash.goto allow hashing of simple string values.pkg/operator/vttablet/pod.goto include the storage request size fromDataVolumePVCSpecin the tablet's desired state hash.This change ensures that whenever the storage size is modified, the operator will perform a safe rolling restart (using the standard Vitess drain logic) to apply the changes.