[
https://issues.apache.org/jira/browse/ARIES-2119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Amichai Rothman resolved ARIES-2119.
------------------------------------
Fix Version/s: rsa-2.0.0
Resolution: Fixed
> TCPServer concurrency issue when accepting sockets
> --------------------------------------------------
>
> Key: ARIES-2119
> URL: https://issues.apache.org/jira/browse/ARIES-2119
> Project: Aries
> Issue Type: Bug
> Components: Remote Service Admin
> Affects Versions: rsa-1.16.1
> Reporter: Amichai Rothman
> Priority: Major
> Fix For: rsa-2.0.0
>
>
> Currently the TCPServer spawns multiple threads, and all of them call
> ServerSocket.accept() concurrently, however this class is not thread-safe.
> JDK-8278270 implies this is fixed in OpenJDK 18, however the ServerSocket API
> documentation has no mention of this so it's likely a specific implementation
> detail and not a guarantee.
> In any case, it's a non-conventional idiom - the common pattern is to have a
> single thread calling accept in a loop, then handing the accepted sockets
> over to other threads for handling the connections.
> In addition, the running flag accessed by all of the threads is not
> thread-safe either. It should at least be volatile.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)