mirror of
https://github.com/minio/minio.git
synced 2025-03-09 11:10:09 -04:00
fix: site replication of bucket deletion sync (#352)
Bucket deletion timestamp was not being passed back in GetBucketInfo, which is needed to decide on the bucket creation/deletion
This commit is contained in:
parent
64a8f2e554
commit
4df7a3aa8f
@ -1308,6 +1308,7 @@ func (s *peerRESTServer) HeadBucketHandler(mss *grid.MSS) (info *VolInfo, nerr *
|
||||
return &VolInfo{
|
||||
Name: bucketInfo.Name,
|
||||
Created: bucketInfo.Created,
|
||||
Deleted: bucketInfo.Deleted, // needed for site replication
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
@ -393,6 +393,7 @@ func (client *remotePeerS3Client) GetBucketInfo(ctx context.Context, bucket stri
|
||||
return BucketInfo{
|
||||
Name: volInfo.Name,
|
||||
Created: volInfo.Created,
|
||||
Deleted: volInfo.Deleted,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
@ -111,6 +111,9 @@ type VolInfo struct {
|
||||
|
||||
// total VolInfo counts
|
||||
count int
|
||||
|
||||
// Date and time when the volume was deleted, if Deleted
|
||||
Deleted time.Time
|
||||
}
|
||||
|
||||
// FilesInfo represent a list of files, additionally
|
||||
|
@ -6504,8 +6504,8 @@ func (z *VolInfo) DecodeMsg(dc *msgp.Reader) (err error) {
|
||||
err = msgp.WrapError(err)
|
||||
return
|
||||
}
|
||||
if zb0001 != 2 {
|
||||
err = msgp.ArrayError{Wanted: 2, Got: zb0001}
|
||||
if zb0001 != 3 {
|
||||
err = msgp.ArrayError{Wanted: 3, Got: zb0001}
|
||||
return
|
||||
}
|
||||
z.Name, err = dc.ReadString()
|
||||
@ -6518,13 +6518,18 @@ func (z *VolInfo) DecodeMsg(dc *msgp.Reader) (err error) {
|
||||
err = msgp.WrapError(err, "Created")
|
||||
return
|
||||
}
|
||||
z.Deleted, err = dc.ReadTime()
|
||||
if err != nil {
|
||||
err = msgp.WrapError(err, "Deleted")
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// EncodeMsg implements msgp.Encodable
|
||||
func (z VolInfo) EncodeMsg(en *msgp.Writer) (err error) {
|
||||
// array header, size 2
|
||||
err = en.Append(0x92)
|
||||
// array header, size 3
|
||||
err = en.Append(0x93)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@ -6538,16 +6543,22 @@ func (z VolInfo) EncodeMsg(en *msgp.Writer) (err error) {
|
||||
err = msgp.WrapError(err, "Created")
|
||||
return
|
||||
}
|
||||
err = en.WriteTime(z.Deleted)
|
||||
if err != nil {
|
||||
err = msgp.WrapError(err, "Deleted")
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// MarshalMsg implements msgp.Marshaler
|
||||
func (z VolInfo) MarshalMsg(b []byte) (o []byte, err error) {
|
||||
o = msgp.Require(b, z.Msgsize())
|
||||
// array header, size 2
|
||||
o = append(o, 0x92)
|
||||
// array header, size 3
|
||||
o = append(o, 0x93)
|
||||
o = msgp.AppendString(o, z.Name)
|
||||
o = msgp.AppendTime(o, z.Created)
|
||||
o = msgp.AppendTime(o, z.Deleted)
|
||||
return
|
||||
}
|
||||
|
||||
@ -6559,8 +6570,8 @@ func (z *VolInfo) UnmarshalMsg(bts []byte) (o []byte, err error) {
|
||||
err = msgp.WrapError(err)
|
||||
return
|
||||
}
|
||||
if zb0001 != 2 {
|
||||
err = msgp.ArrayError{Wanted: 2, Got: zb0001}
|
||||
if zb0001 != 3 {
|
||||
err = msgp.ArrayError{Wanted: 3, Got: zb0001}
|
||||
return
|
||||
}
|
||||
z.Name, bts, err = msgp.ReadStringBytes(bts)
|
||||
@ -6573,13 +6584,18 @@ func (z *VolInfo) UnmarshalMsg(bts []byte) (o []byte, err error) {
|
||||
err = msgp.WrapError(err, "Created")
|
||||
return
|
||||
}
|
||||
z.Deleted, bts, err = msgp.ReadTimeBytes(bts)
|
||||
if err != nil {
|
||||
err = msgp.WrapError(err, "Deleted")
|
||||
return
|
||||
}
|
||||
o = bts
|
||||
return
|
||||
}
|
||||
|
||||
// Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
|
||||
func (z VolInfo) Msgsize() (s int) {
|
||||
s = 1 + msgp.StringPrefixSize + len(z.Name) + msgp.TimeSize
|
||||
s = 1 + msgp.StringPrefixSize + len(z.Name) + msgp.TimeSize + msgp.TimeSize
|
||||
return
|
||||
}
|
||||
|
||||
@ -6603,8 +6619,8 @@ func (z *VolsInfo) DecodeMsg(dc *msgp.Reader) (err error) {
|
||||
err = msgp.WrapError(err, zb0001)
|
||||
return
|
||||
}
|
||||
if zb0003 != 2 {
|
||||
err = msgp.ArrayError{Wanted: 2, Got: zb0003}
|
||||
if zb0003 != 3 {
|
||||
err = msgp.ArrayError{Wanted: 3, Got: zb0003}
|
||||
return
|
||||
}
|
||||
(*z)[zb0001].Name, err = dc.ReadString()
|
||||
@ -6617,6 +6633,11 @@ func (z *VolsInfo) DecodeMsg(dc *msgp.Reader) (err error) {
|
||||
err = msgp.WrapError(err, zb0001, "Created")
|
||||
return
|
||||
}
|
||||
(*z)[zb0001].Deleted, err = dc.ReadTime()
|
||||
if err != nil {
|
||||
err = msgp.WrapError(err, zb0001, "Deleted")
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -6629,8 +6650,8 @@ func (z VolsInfo) EncodeMsg(en *msgp.Writer) (err error) {
|
||||
return
|
||||
}
|
||||
for zb0004 := range z {
|
||||
// array header, size 2
|
||||
err = en.Append(0x92)
|
||||
// array header, size 3
|
||||
err = en.Append(0x93)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@ -6644,6 +6665,11 @@ func (z VolsInfo) EncodeMsg(en *msgp.Writer) (err error) {
|
||||
err = msgp.WrapError(err, zb0004, "Created")
|
||||
return
|
||||
}
|
||||
err = en.WriteTime(z[zb0004].Deleted)
|
||||
if err != nil {
|
||||
err = msgp.WrapError(err, zb0004, "Deleted")
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -6653,10 +6679,11 @@ func (z VolsInfo) MarshalMsg(b []byte) (o []byte, err error) {
|
||||
o = msgp.Require(b, z.Msgsize())
|
||||
o = msgp.AppendArrayHeader(o, uint32(len(z)))
|
||||
for zb0004 := range z {
|
||||
// array header, size 2
|
||||
o = append(o, 0x92)
|
||||
// array header, size 3
|
||||
o = append(o, 0x93)
|
||||
o = msgp.AppendString(o, z[zb0004].Name)
|
||||
o = msgp.AppendTime(o, z[zb0004].Created)
|
||||
o = msgp.AppendTime(o, z[zb0004].Deleted)
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -6681,8 +6708,8 @@ func (z *VolsInfo) UnmarshalMsg(bts []byte) (o []byte, err error) {
|
||||
err = msgp.WrapError(err, zb0001)
|
||||
return
|
||||
}
|
||||
if zb0003 != 2 {
|
||||
err = msgp.ArrayError{Wanted: 2, Got: zb0003}
|
||||
if zb0003 != 3 {
|
||||
err = msgp.ArrayError{Wanted: 3, Got: zb0003}
|
||||
return
|
||||
}
|
||||
(*z)[zb0001].Name, bts, err = msgp.ReadStringBytes(bts)
|
||||
@ -6695,6 +6722,11 @@ func (z *VolsInfo) UnmarshalMsg(bts []byte) (o []byte, err error) {
|
||||
err = msgp.WrapError(err, zb0001, "Created")
|
||||
return
|
||||
}
|
||||
(*z)[zb0001].Deleted, bts, err = msgp.ReadTimeBytes(bts)
|
||||
if err != nil {
|
||||
err = msgp.WrapError(err, zb0001, "Deleted")
|
||||
return
|
||||
}
|
||||
}
|
||||
o = bts
|
||||
return
|
||||
@ -6704,7 +6736,7 @@ func (z *VolsInfo) UnmarshalMsg(bts []byte) (o []byte, err error) {
|
||||
func (z VolsInfo) Msgsize() (s int) {
|
||||
s = msgp.ArrayHeaderSize
|
||||
for zb0004 := range z {
|
||||
s += 1 + msgp.StringPrefixSize + len(z[zb0004].Name) + msgp.TimeSize
|
||||
s += 1 + msgp.StringPrefixSize + len(z[zb0004].Name) + msgp.TimeSize + msgp.TimeSize
|
||||
}
|
||||
return
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user