Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vtctld/wrangler] Extract EmergencyReparentShard logic to dedicated struct and add unit tests #7464

Merged
merged 3 commits into from Feb 9, 2021

Conversation

ajm188
Copy link
Contributor

@ajm188 ajm188 commented Feb 7, 2021

Description

Mostly what it says in the title. I'll follow up with a PlannedReparenter PR soonish to do the same thing to that set of functionality.

This for increasing test coverage on the ERS code as well as to set us
up for code reuse between the new vtctld and legacy vtctl RPCs in a
future PR.

Signed-off-by: Andrew Mason amason@slack-corp.com

Related Issue(s)

Checklist

  • Should this PR be backported? No
  • Tests were added or are not required
  • Documentation was added or is not required

Deployment Notes

Impacted Areas in Vitess

Components that this PR will affect:

  • Query Serving
  • VReplication
  • Cluster Management
  • Build/CI
  • VTAdmin

@ajm188 ajm188 added this to In progress in Vtctld Service via automation Feb 7, 2021

event.DispatchUpdate(ev, "reparenting all tablets")

// (@ajm188) - A question while migrating: Is this by design? By my read,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@deepthi question for you in particular here. @setassociative this is the issue I was talking to you about the other day.

Copy link
Member

@deepthi deepthi Feb 8, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like an oversight. Either we care about errors from handleReplica and we should process them or not send them at all. The original design is documented in #6206 but I don't see that it goes into the details of error handling.

Enforcing single-MASTER shards is something only certain tests will
want, and in fact adding this behavior to `testutil.AddTablet` without
this option broke several existing tests.

Signed-off-by: Andrew Mason <amason@slack-corp.com>
Signed-off-by: Andrew Mason <amason@slack-corp.com>
…it tests

This for increasing test coverage on the ERS code as well as to set us
up for code reuse between the new vtctld and legacy vtctl RPCs in a
future PR.

Signed-off-by: Andrew Mason <amason@slack-corp.com>
Copy link
Member

@deepthi deepthi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I assume we'll need to fix the errCh issue separately.

@deepthi deepthi merged commit 9232cd2 into vitessio:master Feb 9, 2021
Vtctld Service automation moved this from In progress to Done Feb 9, 2021
@ajm188
Copy link
Contributor Author

ajm188 commented Feb 10, 2021

Yep, I just filed #7480 to track that. I'll work on a fix after I finish up tests on PlannedReparenter, since I'm in the middle of that.

@askdba askdba added this to the v10.0 milestone Feb 15, 2021
@ajm188 ajm188 deleted the am_emergency_reparenter branch March 4, 2021 16:32
setassociative pushed a commit to tinyspeck/vitess that referenced this pull request Mar 8, 2021
[vtctld/wrangler] Extract `EmergencyReparentShard` logic to dedicated struct and add unit tests

Signed-off-by: Richard Bailey <rbailey@slack-corp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

None yet

3 participants