Christopher L. Shannon created AMQ-9658:
-------------------------------------------

             Summary: TcpTransport volatile receiveCounter is not incremented 
atomically
                 Key: AMQ-9658
                 URL: https://issues.apache.org/jira/browse/AMQ-9658
             Project: ActiveMQ Classic
          Issue Type: Bug
    Affects Versions: 6.1.5, 5.18.6
            Reporter: Christopher L. Shannon
            Assignee: Christopher L. Shannon
             Fix For: 6.2.0, 5.19.0, 6.1.6


incrementing volatile integers is not an atomic operation because the previous 
value must first be read, then incremented, and reset so it is a multi step 
process. I noticed in the TCP transport code that the receive counter was a 
volatile integer and not being incremented properly.  This counter is should 
only be incremented in the same thread anyways (it can be read by other threads 
like inactivity monitor) so it may not technically be an issue in practice  but 
it still should be handled properly.

The fix is to switch to an AtomicInteger. I also noticed a minor improvement to 
make to to the NIOSSLtransport init code that is only used for the auto+nio+ssl 
transport that I will fix as well.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to