Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-14138

Delete w/If-Match: * may fail with HTTP 412 under concurrent (CRUD) load

    XMLWordPrintable

    Details

    • Target Version/s:
    • Verified Version/s:

      Description

      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.

       

        Attachments

          Activity

            People

            Assignee:
            cgdrake Chris Drake
            Reporter:
            cgdrake Chris Drake
            QA Assignee:
            Alexander Dracka Alexander Dracka
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: