SAP Knowledge Base Article - Public

2687792 - Error in odata API "SQLException caught: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK"

Symptom

  • You are making an API call (Upsert/Update/$batch) for SFOData API
  • In the OData API call response you receive the error "SQLException caught: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK"

Environment

Successfactors , SFOdata API

Reproducing the Issue

One use case:

  1. You are using a java program/Middleware to consume the SFOData webservice
  2. The operation used is $batch 
  3. In the $batch you are sending Employee Central(Person) related information
  4. The response for the API call contains "SQLException caught: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK"

Cause

The actual underlying root cause can differ usecase to usecase.

Real Life Use Case taking $batch as example:

  • If in the $batch operation we are sending the information of one employee per call (One $batch call= one employee information)
  • For every API call we have realtime HRIS sync job getting triggered
  • This job has a throttling limit set in the server as 50
  • So after every individual employee update in the system, there will be a HRIS sync job in the server queue
  • After 50 jobs, the 51st job will be failing with the throttling exception 
  • This throttling excpetion will reflect as timeout exception as the $batch job which is dependent on this HRIS sync job has failed
  • This will eventually result in the transaction ROLL BACK

Resolution

When sending the API POST/$batch calls we need to send a batch of employees.

The recommendation is 50 employees in 1 $batch call.

This will result in less number of realtime HRIS sync jobs and the queue will not be filled.

Engaging this mechanism wil improve the performance of the client side program (Java program consuming the web services/a middleware consuming the SF odata web service)

More information on the HRIS Sync job can be found here:

2080728 - Employee Central: What is HRIS Sync?
2080813 - HRIS Sync: Import & API upsert considerations - Employee Central

Keywords

STATUS_MARKED_ROLLBACK, Transaction cannot proceed, IJ031070, SQLException caught: IJ031070: Transaction cannot proceed: STATUS_MARKED_ROLLBACK, API call failure, odata api upsert call failure, Successfactors OData API POST call failure , KBA , status_marked_rollback , LOD-SF-INT-ODATA , OData API Framework , LOD-SF-INT , SF Integrations - EC Payroll, Boomi/ HCI, API , Problem

Product

SAP SuccessFactors HCM Core all versions