Deadlock Detected During PCM_OP_PYMT_COLLECT Execution
(Doc ID 2464191.1)
Last updated on AUGUST 25, 2020
Applies to:Oracle Communications Billing and Revenue Management - Version 126.96.36.199.0 and later
Information in this document applies to any platform.
During the collection actions which attempts to collect payments, the PCM_OP_PYMT_COLLECT opcode is called from a custom code.
The issue reported is that execution of PCM_OP_BILL_COLLECT is triggering a deadlock on BAL_GRP_T table and because of the deadlock the order will fail eventually.
In the custom code, the following opcodes are execute sequentially: CANCEL_DEAL, PURCHASE_DEAL, PYMT_COLLECT.
STEPS TO REPRODUCE:
The issue can be reproduced at will with the following steps:
1. Create account on Sep21 with monthly plan;
2. Move Pin_virtual_time (pvt) to next BDOM (Bill Day of Month);
3. Open Transaction as -
local_trans = fm_utils_trans_open(ctxp, PCM_TRANS_OPEN_LOCK_OBJ, account_poidp, ebufp);
4. Invoke PCM_OP_SUBSCRIPTION_CANCEL_DEAL opcode;
5. Invoke PCM_OP_SUBSCRIPTION_PURCHASE_DEAL opcode;
6. Collect payments by running Invoke PCM_OP_PYMT_COLLECT opcode. This will lead to a database lock.
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