Uploaded image for project: 'MINA'
  1. MINA
  2. DIRMINA-629

The IoServiceStatistics methods are called for every new session creation

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.0.0-M3
    • 2.0.8
    • 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

          Activity

            People

              Unassigned Unassigned
              elecharny Emmanuel Lécharny
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: