Skip to content

replication: don't auto-fix#4019

Closed
sougou wants to merge 2 commits intovitessio:masterfrom
sougou:replication
Closed

replication: don't auto-fix#4019
sougou wants to merge 2 commits intovitessio:masterfrom
sougou:replication

Conversation

@sougou
Copy link
Copy Markdown
Contributor

@sougou sougou commented Jun 9, 2018

Autofixing replication during health check causes dangerous races
with the Orchestrator. Until we find a better workflow, it's better
to make this something that requires human intervention.

As reference, this is the PR that added the feature:
ebcb5b3

One possible behavioral change to note is the case of a mysqld restart.
In such cases, the replication reporter would have auto-fixed a
replica to point at the master. With this change, the restarter
script will have to do this explicitly.

The ReparentTablet command can be used to fix a stopped replication.

Signed-off-by: Sugu Sougoumarane ssougou@gmail.com

Autofixing replication during health check causes dangerous races
with the Orchestrator. Until we find a better workflow, it's better
to make this something that requires human intervention.

As reference, this is the PR that added the feature:
ebcb5b3

One possible behavioral change to note is the case of a mysqld restart.
In such cases, the replication reporter would have auto-fixed a
replica to point at the master. With this change, the restarter
script will have to do this explicitly.

The ReparentTablet command can be used to fix a stopped replication.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
@sougou sougou requested review from alainjobart, demmer and enisoc June 9, 2018 17:33
@sougou
Copy link
Copy Markdown
Contributor Author

sougou commented Jun 9, 2018

@hmcgonig

reparent.py tests if replication gets automatically
fixed if mysqld restarts underneath. No, it has to
explicitly fix the replication and see if that works.

Signed-off-by: Sugu Sougoumarane <ssougou@gmail.com>
@sougou
Copy link
Copy Markdown
Contributor Author

sougou commented Jun 10, 2018

If you look at my test fix on reparent.py, that clearly shows the downside of this change: if a mysqld is restarted underneath vttablet, it won't be automatically pointed to the master. In fact, it takes two commands: ReparentTablet and StartSlave.

We could look at adding a flag to ReparentTablet to also request a start slave.

@acharis
Copy link
Copy Markdown
Contributor

acharis commented Jun 12, 2018

i would thumbs up a combined ReparentTabletStartSlave

@sougou
Copy link
Copy Markdown
Contributor Author

sougou commented Jun 20, 2018

Closing this in favor of #4024

@sougou sougou closed this Jun 20, 2018
@sougou sougou deleted the replication branch July 12, 2018 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants