[ 
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.

Reply via email to