Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.0.0-M3
-
None
-
None
Description
When a session is established, some methods of the IoServiceStatistics class are called :
protected final void finishSessionInitialization(IoSession session, IoFuture future, IoSessionInitializer sessionInitializer) {
if (stats.getLastReadTime() == 0) {
((IoServiceStatistics)stats).setLastReadTime(getActivationTime());
There are two problems with this approach :
- first, many of the members of this classes are not thread safe, leading to some random value potentially be put into the stats instance for the service
- second, if we protect those members using some synchronization (or volatile data), it might slow down the connection initialization.
The IoServiceStatistics class should be thread safe, and these statistics should not be updated if the user don't want them, ie, it should be optionnal (the Configuration object should take care of this)
Attachments
Issue Links
- is related to
-
DIRMINA-1152 IoServiceStatistics introduces huge latencies
- Resolved
- relates to
-
DIRMINA-585 Visibility issue in various configuration properties and a few critical counters.
- Resolved