mirror of
https://github.com/minio/minio.git
synced 2025-11-07 21:02:58 -05:00
fix size accounting for encrypted/compressed objects (#9690)
size calculation in crawler was using the real size of the object instead of its actual size i.e either a decrypted or uncompressed size. this is needed to make sure all other accounting such as bucket quota and mcs UI to display the correct values.
This commit is contained in:
@@ -1260,9 +1260,6 @@ func (args eventArgs) ToEvent(escape bool) event.Event {
|
||||
if args.EventName != event.ObjectRemovedDelete {
|
||||
newEvent.S3.Object.ETag = args.Object.ETag
|
||||
newEvent.S3.Object.Size = args.Object.Size
|
||||
if args.Object.IsCompressed() {
|
||||
newEvent.S3.Object.Size = args.Object.GetActualSize()
|
||||
}
|
||||
newEvent.S3.Object.ContentType = args.Object.ContentType
|
||||
newEvent.S3.Object.UserMetadata = args.Object.UserDefined
|
||||
}
|
||||
@@ -1271,16 +1268,9 @@ func (args eventArgs) ToEvent(escape bool) event.Event {
|
||||
}
|
||||
|
||||
func sendEvent(args eventArgs) {
|
||||
// remove sensitive encryption entries in metadata.
|
||||
switch {
|
||||
case crypto.IsEncrypted(args.Object.UserDefined):
|
||||
if totalObjectSize, err := args.Object.DecryptedSize(); err == nil {
|
||||
args.Object.Size = totalObjectSize
|
||||
}
|
||||
case args.Object.IsCompressed():
|
||||
args.Object.Size = args.Object.GetActualSize()
|
||||
}
|
||||
args.Object.Size, _ = args.Object.GetActualSize()
|
||||
|
||||
// remove sensitive encryption entries in metadata.
|
||||
crypto.RemoveSensitiveEntries(args.Object.UserDefined)
|
||||
crypto.RemoveInternalEntries(args.Object.UserDefined)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user