vitess
vitess copied to clipboard
VReplication: allow overriding flags per-workflow and dynamically
Feature Description
There are several flags that impact vreplication behaviour/performance that are currently scoped asvttablet
flags (https://vitess.io/docs/reference/vreplication/flags/)
It is often useful to modify these when a workflow is running, for example relay_log_max_size
, vreplication_copy_phase_duration
, vreplication_experimental_flags
, etc.
At the moment we need to roll vttablets if we want to modify these, after setting the flags appropriately. This is obviously not ideal. In addition, any changes affect all vreplication workflows.
We should add the ability to specify these creating a workflow, if a user wants to override the vttablet defaults, and where applicable let them be modified dynamically.
We will need API changes fo flags that are applicable at the source
vstreamer level. So maybe we can start with the target
related flags, to begin with.
We should also expose these values in the Workflow Show
output, indicating if they are overrides, and allow modifying them in Workflow Update
.
Use Case(s)
.