How to Make Sure the Transaction Rollback After Timeout Exception
(Doc ID 1302616.1)
Last updated on MARCH 06, 2019
Applies to:Oracle Communications Billing and Revenue Management - Version 220.127.116.11.0 and later
Information in this document applies to any platform.
In a client application to invoke opcode by PortalContext, the infranet.PcmTimeoutInMsecs value is set in Infranet.properties file. When the timeout occurs, it closes the PortalContext, but the transaction does not rollback.
According to the document "Specifying a timeout value for requests", CM should rollback the ongoing transaction and shut it down. So the data should be discarded automatically after closing the PortalContext.
The reproduce steps are:
1. Lock the table account_nameinfo_t by this statement, lock table account_nameinfo_t in EXCLUSIVE mode.
2. Invoke CUST_SET_NAMEINFO opcode.
3. Wait until the client received timeout exception.
4. Close the PortalContext by ctx.close(true) method.
5. Check the table account_nameinfo_t, its value is not update, yet.
6. Unlock the table account_nameinfo_t.
7. Check the table account_nameinfo_t, and found the value has been updated.
If the user add the transaction control, the transaction is done as expected.
The user starts a transaction between step 1 and 2, and commit the transaction between step 2 and 3.
If timeout occurs, abort the transaction. Then, after aborting the transaction, all data change is discarded.
Please confirm whether the transaction control is necessary if the data change need to be discarded after timeout happen.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document