Retry failed ssh commands in ExecuteClusterCommand

We pass in maxAttempts and retry until the command passes. If there is an
error, we collect it in the command.RetryError variable. We have ways to log
messages for commands that were retried but eventually passed, along with
continuing to log failed commands like we used to.

We test the command retry with a script that increments a number and exits 1
until the number gets high enough to simulate failing and then passing..

Have GenerateAndExecuteCommand use retries by default. This seems to only be
used by gpbackup and we know we want to use retries in that utility.
5 files changed
tree: 07b4ee77edaf8198f3fabc99e8415592128b2680
  1. .github/
  2. ci/
  3. cluster/
  4. conv/
  5. dbconn/
  6. gperror/
  7. gplog/
  8. iohelper/
  9. operating/
  10. structmatcher/
  11. testhelper/
  12. .asf.yaml
  13. .gitignore
  14. .golangci.yml
  15. CODE_OF_CONDUCT.md
  16. CONTRIBUTING.md
  17. go.mod
  18. go.sum
  19. LICENSE
  20. Makefile
  21. NOTICE
  22. README.md
  23. SECURITY.md
  24. show_coverage.sh
README.md

go-libs for Apache Cloudberry (Incubating)

Slack Twitter Follow Website


This project is a fork of the Greenplum gp-common-go-libs, which is a dependency for the gpbackup utility in Cloudberry.

Please note that this repository is only maintained for Cloudberry 1.0 and its later versions.

License

Licensed under Apache License Version 2.0. For more details, please refer to the LICENSE.

Acknowledgment

Thanks to all the gp-common-go-libs contributors, more details in its GitHub page.