activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (AMQ-2028) ActiveMQSessionExecutor.taskRunner usage is very non-thread-safe
Date Fri, 13 Nov 2009 15:25:52 GMT

     [ https://issues.apache.org/activemq/browse/AMQ-2028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gary Tully resolved AMQ-2028.
-----------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 5.3.0)
                   5.3.1

fixed applied in r835874
left use of volatile but tidied up stop() logic and creation of new taskRunner if queue was
stopped. This avoids the NPE. Came across this with useDedicatedTaskRunner=true system property,
result was leaked threads due to this sync issue.

> ActiveMQSessionExecutor.taskRunner usage is very non-thread-safe
> ----------------------------------------------------------------
>
>                 Key: AMQ-2028
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2028
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.3.0
>            Reporter: David Jencks
>            Assignee: David Jencks
>             Fix For: 5.3.1
>
>         Attachments: ActiveMQSessionExecutor.patch
>
>
> cmon guys,
>                     if (taskRunnerCreated.compareAndSet(false, true)) {
>                         if (taskRunner == null) {
>                             taskRunner = session.connection.getSessionTaskRunner().createTaskRunner(this,
>                                     "ActiveMQ Session: " + session.getSessionId());
>                         }
>                     }
>                     taskRunner.wakeup();
> is not anywhere close to thread safe.
> I'm seeing JmsClientAckTest and JmsRedeliveredTest failing due to this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message