CM Hangs In Fm_act_session_trans_prep

(Doc ID 2086229.1)

Last updated on OCTOBER 09, 2017

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.5.0.0.0 and later
Information in this document applies to any platform.

Symptoms

Scenario:

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.

Changes

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms