Skip to content
This repository has been archived by the owner on Sep 30, 2024. It is now read-only.

Faster master recover #350

Merged
merged 33 commits into from
Jan 2, 2018
Merged

Faster master recover #350

merged 33 commits into from
Jan 2, 2018

Conversation

shlomi-noach
Copy link
Collaborator

This PR optimized master recovery time in calling hooks sonner, and invoking some refactoring asynchronously, under certain conditions.

This change applies at the moment to PseudoGTID-based failovers only. It will follow up to do the same for GTID based failovers.

The idea is that when a master dies, we pick a candidate to promote. If, at that moment, we are able to determine that said candidate is ideal for promotion, we move all topology refactoring to run asychronously, and allow hooks to run immediately.

Implication: hooks, or key-value settings, will run quicker, letting the app speak to the new master sooner, even while orchestrator will still be wiring the replicas to replicas from the new master.

@shlomi-noach shlomi-noach temporarily deployed to production November 26, 2017 09:03 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production November 26, 2017 09:32 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production November 26, 2017 09:43 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor November 26, 2017 09:43 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor November 26, 2017 09:44 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor November 26, 2017 12:32 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor November 26, 2017 12:35 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor November 26, 2017 13:05 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor November 26, 2017 13:24 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor November 27, 2017 06:10 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor November 27, 2017 06:27 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor November 27, 2017 06:43 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster November 27, 2017 07:09 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster November 27, 2017 07:19 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster November 30, 2017 08:37 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster November 30, 2017 10:19 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster December 3, 2017 10:30 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster December 5, 2017 05:13 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster December 21, 2017 06:43 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster December 24, 2017 07:14 Inactive
@shlomi-noach shlomi-noach deployed to production/mysql_clustr=conductor December 28, 2017 08:21 Active
@shlomi-noach shlomi-noach had a problem deploying to production/mysql_cluster=conductor December 28, 2017 08:21 Failure
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster December 31, 2017 06:57 Inactive
@shlomi-noach shlomi-noach had a problem deploying to production/mysql_cluster=conductor December 31, 2017 06:57 Failure
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster December 31, 2017 07:46 Inactive
@shlomi-noach shlomi-noach had a problem deploying to production/mysql_cluster=conductor December 31, 2017 07:46 Failure
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor December 31, 2017 08:00 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster December 31, 2017 08:01 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor January 1, 2018 07:01 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster January 1, 2018 07:02 Inactive
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=concertmaster January 1, 2018 19:31 Inactive
@shlomi-noach shlomi-noach had a problem deploying to production/mysql_cluster=conductor January 1, 2018 19:31 Failure
@shlomi-noach shlomi-noach temporarily deployed to production/mysql_cluster=conductor January 1, 2018 19:32 Inactive
@shlomi-noach shlomi-noach merged commit fbfea77 into master Jan 2, 2018
@shlomi-noach shlomi-noach deleted the faster-master-recover branch January 2, 2018 06:01
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants