mirror of
https://github.com/minio/minio.git
synced 2025-03-28 08:20:58 -04:00
create missing .minio.sys/config, .minio.sys/buckets during decommission (#14497)
This commit is contained in:
parent
bacf6156c1
commit
5d6f6d8d5b
@ -593,7 +593,7 @@ func (z *erasureServerPools) decommissionPool(ctx context.Context, idx int, pool
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// We need a reversed order for Decommissioning,
|
// We need a reversed order for decommissioning,
|
||||||
// to create the appropriate stack.
|
// to create the appropriate stack.
|
||||||
versionsSorter(fivs.Versions).reverse()
|
versionsSorter(fivs.Versions).reverse()
|
||||||
|
|
||||||
@ -955,6 +955,18 @@ func (z *erasureServerPools) StartDecommission(ctx context.Context, idx int) (er
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create .minio.sys/conifg, .minio.sys/buckets paths if missing,
|
||||||
|
// this code is present to avoid any missing meta buckets on other
|
||||||
|
// pools.
|
||||||
|
for _, metaBucket := range []string{
|
||||||
|
pathJoin(minioMetaBucket, minioConfigPrefix),
|
||||||
|
pathJoin(minioMetaBucket, bucketMetaPrefix),
|
||||||
|
} {
|
||||||
|
if err = z.MakeBucketWithLocation(ctx, metaBucket, BucketOptions{}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Buckets data are dispersed in multiple zones/sets, make
|
// Buckets data are dispersed in multiple zones/sets, make
|
||||||
// sure to decommission the necessary metadata.
|
// sure to decommission the necessary metadata.
|
||||||
buckets = append(buckets, BucketInfo{
|
buckets = append(buckets, BucketInfo{
|
||||||
|
@ -661,6 +661,9 @@ func (z *erasureServerPools) MakeBucketWithLocation(ctx context.Context, bucket
|
|||||||
for index := range z.serverPools {
|
for index := range z.serverPools {
|
||||||
index := index
|
index := index
|
||||||
g.Go(func() error {
|
g.Go(func() error {
|
||||||
|
if z.IsSuspended(index) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
return z.serverPools[index].MakeBucketWithLocation(ctx, bucket, opts)
|
return z.serverPools[index].MakeBucketWithLocation(ctx, bucket, opts)
|
||||||
}, index)
|
}, index)
|
||||||
}
|
}
|
||||||
@ -672,7 +675,8 @@ func (z *erasureServerPools) MakeBucketWithLocation(ctx context.Context, bucket
|
|||||||
if _, ok := err.(BucketExists); !ok {
|
if _, ok := err.(BucketExists); !ok {
|
||||||
// Delete created buckets, ignoring errors.
|
// Delete created buckets, ignoring errors.
|
||||||
z.DeleteBucket(context.Background(), bucket, DeleteBucketOptions{
|
z.DeleteBucket(context.Background(), bucket, DeleteBucketOptions{
|
||||||
Force: false, NoRecreate: true,
|
Force: false,
|
||||||
|
NoRecreate: true,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@ -1478,6 +1482,9 @@ func (z *erasureServerPools) DeleteBucket(ctx context.Context, bucket string, op
|
|||||||
for index := range z.serverPools {
|
for index := range z.serverPools {
|
||||||
index := index
|
index := index
|
||||||
g.Go(func() error {
|
g.Go(func() error {
|
||||||
|
if z.IsSuspended(index) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
return z.serverPools[index].DeleteBucket(ctx, bucket, opts)
|
return z.serverPools[index].DeleteBucket(ctx, bucket, opts)
|
||||||
}, index)
|
}, index)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user