failed CompleteMultipartUpload request does not release lock
A rados lock is used to prevent racing CompleteMultipartUpload requests on the same object. But if we fail the request (due to invalid arguments, missing parts, etc), the lock is not released.
So after a failed CompleteMultipartUpload request, all later CompleteMultipartUpload requests on that object will fail with '500 Internal Error' for a duration of rgw_mp_lock_max_time (default: 10 minutes). The radosgw log prints:
RGWCompleteMultipart::execute() failed to acquire lock
- Status changed from New to Need Review
- Status changed from Need Review to Pending Backport
- Copied to Backport #21695: luminous: failed CompleteMultipartUpload request does not release lock added
- Backport changed from luminous to luminous, jewel
This needs backporting to Jewel as well; I'm hitting what looks to be the same issue in DreamObjects, when there are many RGWs in the cluster, and the uploads are happening very fast.
- Copied to Backport #21873: jewel: failed CompleteMultipartUpload request does not release lock added
- Status changed from Pending Backport to Resolved
Also available in: Atom