CM Hangs In Fm_act_session_trans_prep
(Doc ID 2086229.1)
Last updated on FEBRUARY 08, 2021
Applies to:Oracle Communications Billing and Revenue Management - Version 184.108.40.206.0 and later
Information in this document applies to any platform.
When loading traffic (PCM_OP_ACT_LOAD_SESSION with/without CALC_ONLY flag) inside a PCM_TRANS_OPEN_READWRITE | PCM_TRANS_OPEN_LOCK_DEFAULT transaction, all CM childs hang when two or more of them get at the same time to the fm_act_session_trans_prep function called by PCM_OP_ACT_LOAD_SESSION with the CALC_ONLY flag.
Issue can be reproduce by calling standard OBRM function "fm_act_session_trans_prep" on at least two threads in the exact same time. This can be achieved by creating custom opcodes which can easily called 20 threads, thus can raise the probability for collisions. Make sure to use distinct accounts for each request chain (AI, CR & RAT) and for an account the requests are sent in order on the same thread.
The only locks were those left by the blocked child CMs (in function fm_act_session_trans_prep) because they never reach PCM_OP_TRANS_COMMIT. There were only blocking locks, no waits on locks.
This can also reproduce in a simplified setup by using only the PCM_OP_ACT_FIND opcode (for getting the account by MSISDN) and the PCM_OP_ACT_LOAD_SESSION opcode with the PCM_OPFLG_CALC_ONLY flag.
P.S: The problem does not seem to appear if we do not use the PCM_OPFLG_CALC_ONLY flag.
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