vrepl: improve some failure handling #5792
Merged
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.
Tablet dialers were set to not fail fast. This was causing grpc
to redial the same tablet indefinitely eventhough it was permanently
down. This has now been changed to fail fast.
The tablet picker was only taking health errors into account, which
happens when tablets report themseleves as unhealthy. But if a tablet
is unreachable, we have to check LastError.
It's possible that vrepication can be ahead of a source repica.
In those cases, the vstreamer of the source should fail requests.
There are situations where mysql has unpredictable behavior,
especially if the requested position is one above the current one.
Also fixed some staticcheck errors.