[ https://issues.apache.org/jira/browse/ODE-1048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sathwik Bantwal Premakumar resolved ODE-1048. --------------------------------------------- Resolution: Fixed > 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)