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

TCPConnectionMap: move socket establishment out of common path

XMLWordPrintable

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

      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)

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

                Created:
                Updated:
                Resolved: