From 888521456194e220e7c97644d04a6c96c916919c Mon Sep 17 00:00:00 2001 From: kqzh <35095889+kqzh@users.noreply.github.com> Date: Tue, 20 Dec 2022 15:52:36 +0800 Subject: [PATCH] fix some enhancement issue --- cmd/backup.go | 2 +- pkg/clients/meta.go | 11 ++++++++--- pkg/restore/restore.go | 6 +++--- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/cmd/backup.go b/cmd/backup.go index dda054f..4374ce1 100644 --- a/cmd/backup.go +++ b/cmd/backup.go @@ -49,7 +49,7 @@ func newFullBackupCmd() *cobra.Command { fmt.Println("Start to backup cluster...") backupName, err := b.Backup() if err != nil { - fmt.Println("Backup failed, will try to clean the remaining garbage...") + fmt.Printf("Backup failed: %v, will try to clean the remaining garbage...\n", err) if backupName != "" { cleanCfg := &config.CleanupConfig{ diff --git a/pkg/clients/meta.go b/pkg/clients/meta.go index 343dde2..ca1d96b 100644 --- a/pkg/clients/meta.go +++ b/pkg/clients/meta.go @@ -202,12 +202,17 @@ func (m *NebulaMeta) RestoreMeta(metaAddr *nebula.HostAddr, hostMap []*meta.Host req.Hosts = hostMap req.Files = byteFiles - for try := 1; try <= 3; try++ { + // meta startup time may be very long, so add retry for up to 10 times + for try := 1; try <= 10; try++ { client, err := connect(metaAddr) if err != nil { + numsec := 1 << try + if numsec > 32 { + numsec = 32 + } log.WithError(err).WithField("addr", utils.StringifyAddr(metaAddr)). - Errorf("Connect to metad failed, try times %d.", try) - time.Sleep(time.Second * 2) + Errorf("Connect to metad failed, will try after %d seconds, try times %d.", numsec, try) + time.Sleep(time.Second * time.Duration(numsec)) continue } diff --git a/pkg/restore/restore.go b/pkg/restore/restore.go index b620267..decd83e 100644 --- a/pkg/restore/restore.go +++ b/pkg/restore/restore.go @@ -494,8 +494,8 @@ func (r *Restore) cleanupOriginalData() error { // backup_root/backup_name // - meta -// - xxx.sst -// - ... +// - xxx.sst +// - ... // - data // - backup_name.meta func (r *Restore) Restore() error { @@ -579,7 +579,7 @@ func (r *Restore) Restore() error { if err != nil { return fmt.Errorf("start meta service failed: %w", err) } - time.Sleep(time.Second * 3) + time.Sleep(time.Second * 10) log.Info("Start meta service successfully.") // restore meta service by map