ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sathwik Bantwal Premakumar (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ODE-1048) Disable MEX_MATCHER job
Date Sat, 05 Mar 2016 05:41:40 GMT
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)

Mime
View raw message