rollback or checkpoint resume if dm scale-out failed
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 466
- Forks
- 338
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 8
Description
Feature Request
Is your feature request related to a problem? Please describe:
I'm scale-out dm with two more nodes, failed of reload prometheus before the end, and I'm manually starting promethes/grafana , and want to run scale-out again, but the checking failed:
the Prometheus reload failed
Error: stdout: , stderr:prometheus-9090.service is not active, cannot reload.
: executor.ssh.execute_failed: Failed to execute command over SSH for 'tidb@172.19.0.101:22' {ssh_stderr: prometheus-9090.service is not active, cannot reload.
, ssh_stdout: , ssh_command: export LANG=C; PATH=$PATH:/usr/bin:/usr/sbin sudo -H bash -c "systemctl daemon-reload && systemctl reload prometheus-9090.service"}, cause: Process exited with status 1
Verbose debug logs has been written to /root/.tiup/logs/tiup-dm-debug-2021-01-30-15-42-54.log.
Rerun the scale-out command
root@control:/tiup-cluster# tiup-dm scale-out dm scale_dm.yaml
Error: port conflict for '8261' between 'master_servers:172.19.0.105.port,omitempty' and 'master_servers:172.19.0.105.port,omitempty'
Describe the feature you'd like:
- don't save the topology if
scale-outnot success; - or rollback the topology if
scale-outfailed; - or resume the previous
scale-outprocess;
I prefer the first one.
Describe alternatives you've considered:
Teachability, Documentation, Adoption, Migration Strategy:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reported tiup-dm scale-out dm scale_dm.yaml flow and the debug log from the failed Prometheus reload. Compare the topology state after a failed scale-out with the state expected for a retry; done should be defined as preventing an invalid saved topology, rolling back safely, or resuming the interrupted operation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- devops
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100