Sathwik Bantwal Premakumar created ODE-1048:
-----------------------------------------------
Summary: Disable MEX_MATCHER job
Key: ODE-1048
URL: https://issues.apache.org/jira/browse/ODE-1048
Project: ODE
Issue Type: Bug
Components: BPEL Runtime
Reporter: Sathwik Bantwal Premakumar
Assignee: Sathwik Bantwal Premakumar
Fix For: 1.3.7
MEX_MATCHER job is triggered after registering an Early arriving message.
Early arriving messages are normally picked up when the MATCHER job executes.
MEX_MATCHER is an overhead and there is lot of contention seen between MATCHER
and MEX_MATCHER jobs under load.
There is deadlock situation arising between MEX_MATCHER and MATCHER jobs
running concurrently.
MEX_MATCHER
1) lockPrimieMessages (locks all records in BPEL_UNMATCHED using the mex)
MATCHER
1) findRoute (locks route in BPEL_SELECTOR based on single correlation key set
canonical value)
MEX_MATCHER
2) tries to findRoute (locked by Matcher)
MATCHER
2) tries to dequeueMessage (locked by Mex_Matcher)
Results in a deadlock.
Possible solution to overcome this deadlock:
Move the dequeueMessage call above the findRoute call in matcherEvent.
This is a proposal to deactivate MEX_MATCHER jobs. Henceforth, MEX_MATCHER jobs
will not be triggered after an early message is registered.
In case MEX_MATCHER is necessary, kindly revert the changes done in this
ticket.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)