Delete operations against managed objects which specify If-Match: * within the request headers may result in a HTTP 412 response under concurrent load.
The intent behind the If-Match: * header is to indicate to the server that the operation should be performed irrespective of the revision of the object within the repo. Our existing code within the Managed Object service circumvents this mechanism by injecting the current object revision within the Delete request if none was specified within the client request. This behavior is incorrect and introduces an opportunity for a MVCC revision mismatch and subsequent PreconditionFailedException if the object within the repository is modified by another request after the Managed object service has injected the current object revision within the Delete request.
Within ManagedObjectSet.deleteInstance() we should pass the revision specified within the client request as-is to the repo handler.