Wednesday, November 20, 2013

Error: The transaction was rolled back. The work performed for bpel instance "X" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.The transaction was rolled back. The work performed for bpel instance "X" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.
  
We usually get this error because of timeout issue. To see what exactly wrong you can see the log file and correct your code. But some time we didn’t see anything in log file and we don’t know what exactly causing this issue, then most of the time this issue comes when you call some service and that service is taking some time to send response back and during that time BPEL service timeout.

So to resolve this you can increase timeout setting that will help you to overcome this issue. You can find couple of blogs and oracle documents to increase timeout setting. I found below blog which explains all the timeout settings.


But remember, once you change timeout setting that will affect all your services deployed to that domain.

Sometime we also notice that once BPEL process rollback then it will start processing again and it will retry (run the same BPEL) process 2-3 times and finally move to Manual recovery if that fault is retry able.

To resolve above issue (BPEL should not retry), we need to change setting in MBean browser. We can change below properties value in Mbean browser. 
  • GlobalTxMaxRetry: Maximum number of time BPEL service will retry if fault is retry able..
  • GlobalTxRetryInterval : Time interval between each retry
To change these property value go to below path.

Soa-infra à SOA Administration à Common Properties àMore SOA Infra Advanced Configuration Properties




You can set GlobalTxMaxRetry property vale to 0 to avoid BPEL process retries.


0 comments :

Post a Comment