Multiple Requests for same ID in the same timeframe causing "An unexpected error occurred: org.hibernate.exception.LockAcquisitionException: could not extract ResultSet" error

Here is what we are seeing:

  • We have an ID that is having multiple access requests submitted for it within a very short timeframe (i.e. – more than 2 Access Requests within a couple of minutes).
  • These requests have both a Manager and Secondary Approvers on them.
  • The manager approves all of the requests.
  • All of the secondary approval are completed with a short period.
  • Our Perform Workflow Maintenance task has “Enable Partitioning” turned on
  • When our “Perform Workflow Maintenance” picks up the requests to process them, sometimes we are getting the following error on one of these requests.
    • An unexpected error occurred: org.hibernate.exception.LockAcquisitionException: could not extract ResultSet
    • Example: an ID has 3 Requests— all getting final approval around the same time. All 3 requests are picked up in the same Perform Workflow Maintenance cycle.
      • Request 1 - 3 Roles
      • Request 2 - 10 Roles (This is the one getting the error)
      • Request 3 - 10 Roles

Wondering if anyone else has encountered similar issues. I do understand this issue is caused by a Database lock on something (maybe the Identity Cube, WorkItem etc.) but how do you stop multiple requests for the same ID being processed in the same thread.