You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Igor Vorobiov (JIRA)" <ji...@apache.org> on 2015/05/18 16:07:01 UTC

[jira] [Commented] (ODE-1026) Deployment deadlock

    [ https://issues.apache.org/jira/browse/ODE-1026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14548048#comment-14548048 ] 

Igor Vorobiov commented on ODE-1026:
------------------------------------

Hi Sathwik,
As we can see *getProcessConfiguration* locks execution of *register* method.
I guess we can avoid it by removing locking in the 'getProcessConfiguration':
{code:title=org.apache.ode.store.ProcessStoreImpl.java|borderStyle=solid}
    public ProcessConf getProcessConfiguration(final QName processId) {
        //_rw.readLock().lock();
        //try {
            return _processes.get(processId);
        //} finally {
        //    _rw.readLock().unlock(); 
        //}  
    }
{code}
But we also need to change _processes from HashMap to ConcurrentHashMap.
What do you think about this solution?
Are there any reasons for using locking in the *getProcessConfiguration*?

> Deployment deadlock
> -------------------
>
>                 Key: ODE-1026
>                 URL: https://issues.apache.org/jira/browse/ODE-1026
>             Project: ODE
>          Issue Type: Bug
>          Components: Deployment
>    Affects Versions: 1.3.6
>            Reporter: Igor Vorobiov
>         Attachments: thread1.txt, thread2.txt
>
>
> There is deadlock when two processes are redeployed at the same time.
> Attached deadlock threads trace.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)