Skip to content

markReadOnlyNodesInOrc broke gracefulfailover process #566

@jianhaiqing

Description

@jianhaiqing

https://github.com/presslabs/mysql-operator/blob/28ef010d9c7e6acc2518b78ef44ae220040818f0/pkg/controller/orchestrator/orchestrator_reconcile.go#L515

As you can see the following logs from orchestrator, the writable function broke the gracefulfailover process, since master is set read_only as true, and wait for CandidateReplica catch up with given binlog-position.
Can we check if cluster is ready or not before set master writable ?

2020-07-22 08:34:18 INFO topology_recovery: will handle DeadMaster event on nodetest-mysql-1.nodetest-mysql.jonathan:3306
2020-07-22 08:34:18 INFO auditType:recover-dead-master instance:nodetest-mysql-1.nodetest-mysql.jonathan:3306 cluster:nodetest-mysql-1.nodetest-mysql.jonathan:3306 message:problem found; will recover
2020-07-22 08:34:18 INFO topology_recovery: Running 1 PreFailoverProcesses hooks
2020-07-22 08:34:18 INFO topology_recovery: Running PreFailoverProcesses hook 1 of 1: /usr/local/bin/orc-helper failover-in-progress 'nodetest.jonathan' '' || true
2020-07-22 08:34:18 INFO CommandRun(/usr/local/bin/orc-helper failover-in-progress 'nodetest.jonathan' '' || true,[])
2020-07-22 08:34:18 INFO CommandRun/running: bash /tmp/orchestrator-process-cmd-033210013
[martini] Completed 200 OK in 11.10911ms
[martini] Started GET /api/audit-recovery/nodetest.jonathan for 172.29.1.36:35640
[martini] Completed 200 OK in 6.968061ms
[martini] Started GET /api/cluster/nodetest.jonathan for 172.29.1.36:35640
[martini] Completed 200 OK in 13.440635ms
[martini] Started GET /api/master/nodetest.jonathan for 172.29.1.36:35640
[martini] Completed 200 OK in 12.028423ms
## failover process is broken by the logical. 
[martini] Started GET /api/set-writeable/nodetest-mysql-1.nodetest-mysql.jonathan/3306 for 172.29.1.36:35640

some discussion about the issue in orchestrator. openark/orchestrator#1213

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions