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