mirror of
https://github.com/minio/minio.git
synced 2025-11-06 20:33:07 -05:00
remove double reads updating object metadata (#13542)
Removes RLock/RUnlock for updating metadata, since we already take a write lock to update metadata, this change removes reading of xl.meta as well as an additional lock, the performance gain should increase 3x theoretically for - PutObjectRetention - PutObjectLegalHold This optimization is mainly for Veeam like workloads that require a certain level of iops from these API calls, we were losing iops.
This commit is contained in:
@@ -291,6 +291,13 @@ func (e MethodNotAllowed) Error() string {
|
||||
return "Method not allowed: " + e.Bucket + "/" + e.Object
|
||||
}
|
||||
|
||||
// ObjectLocked object is currently WORM protected.
|
||||
type ObjectLocked GenericError
|
||||
|
||||
func (e ObjectLocked) Error() string {
|
||||
return "Object is WORM protected and cannot be overwritten: " + e.Bucket + "/" + e.Object + "(" + e.VersionID + ")"
|
||||
}
|
||||
|
||||
// ObjectAlreadyExists object already exists.
|
||||
type ObjectAlreadyExists GenericError
|
||||
|
||||
|
||||
Reference in New Issue
Block a user