Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1462

TCPConnectionMap: move socket establishment out of common path

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Done
    • Major
    • 3.0.10, 3.1
    • None
    • None

    Description

      TCPConnectionMap$Mapper.getConnection() acquires a lock and returns the an existing connection, or creates a new one if needed. The problem is that - while we try to establish a new connection - existing connections will have to wait before being returned until connection establishment has completed (or failed).

      For instance, if we have valid connections to members B, C and D, and try to establish a connection to (failed) member E, all threads will try to send data to A, B and C will be blocked until they can acquire the lock !

      SOLUTION: move socket creation under a different lock.

      {Suggested by S. Simeonoff)

      Attachments

        Activity

          People

            rhn-engineering-bban Bela Ban
            rhn-engineering-bban Bela Ban
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: