Workflow Show: use timeUpdated to calculate vreplication lag #7342
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.
Signed-off-by: Rohit Nayak [email protected]
Description
There was a problem in the initial implementation of determining MaxVReplicationLag, which was the seconds since
transaction_timestamp
. MaxVReplicationLag is used, in a Reshard workflow, by the operator to determine when resharding is completed. See VReplication stream heartbeats record incorrect event timestamps #6946, which logs the problem and fixes it. However this fix was problematic for two reasons:transaction_timestamp
is 0 as long as the stream is in the copy phase. If there are no new writes on the source once the copy phase is completed then the value does not get updatedtransaction_timestamp
column for that stream does not get updated as there are no new events seen by the target.In both cases the operator decides that the stream is lagging and doesn't perform the cutover. This PR changes the logic to use the
time_updated
column instead oftransaction_timestamp
.time_updated
is updated both when there is a binlog event from the source and also when the source sends a heartbeat (every idle second).Don't display unused column
max_replication_lag
from_vt.vreplication
This column was used several versions earlier for throttling SplitClone streams. Vreplication workflows do not use it and it should not be displayed since it always displays MaxInt and is confusing to users.
Related Issue(s)
#6946
Checklist
Impacted Areas in Vitess
Components that this PR will affect: