fix: Skip deleted shard groups during backup
parent
ea1a3dbe60
commit
5f1968b331
|
@ -249,8 +249,15 @@ func (b *cmdBackupBuilder) backupBucket(ctx context.Context, org *influxdb.Organ
|
||||||
// Iterate over and backup each shard.
|
// Iterate over and backup each shard.
|
||||||
for _, rpi := range dbi.RetentionPolicies {
|
for _, rpi := range dbi.RetentionPolicies {
|
||||||
for _, sg := range rpi.ShardGroups {
|
for _, sg := range rpi.ShardGroups {
|
||||||
|
if sg.Deleted() {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
for _, sh := range sg.Shards {
|
for _, sh := range sg.Shards {
|
||||||
if err := b.backupShard(ctx, org, bkt, rpi.Name, sh.ID); err != nil {
|
if err := b.backupShard(ctx, org, bkt, rpi.Name, sh.ID); influxdb.ErrorCode(err) == influxdb.ENotFound {
|
||||||
|
b.logger.Warn("Shard removed during backup", zap.Uint64("shard_id", sh.ID))
|
||||||
|
continue
|
||||||
|
} else if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -386,6 +386,10 @@ func (e *Engine) RestoreBucket(ctx context.Context, id influxdb.ID, buf []byte)
|
||||||
|
|
||||||
// Create shards.
|
// Create shards.
|
||||||
for _, sgi := range rpi.ShardGroups {
|
for _, sgi := range rpi.ShardGroups {
|
||||||
|
if sgi.Deleted() {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
for _, sh := range sgi.Shards {
|
for _, sh := range sgi.Shards {
|
||||||
if err := e.tsdbStore.CreateShard(dbi.Name, rpi.Name, sh.ID, true); err != nil {
|
if err := e.tsdbStore.CreateShard(dbi.Name, rpi.Name, sh.ID, true); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -17,6 +17,7 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/influxdata/influxdb/v2"
|
||||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||||
"github.com/influxdata/influxdb/v2/logger"
|
"github.com/influxdata/influxdb/v2/logger"
|
||||||
"github.com/influxdata/influxdb/v2/models"
|
"github.com/influxdata/influxdb/v2/models"
|
||||||
|
|
Loading…
Reference in New Issue