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

TCPConnectionMap: move socket establishment out of common path

    Details

    • Type: Enhancement
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 3.0.10, 3.1
    • Labels:
      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)

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                belaban Bela Ban
                Reporter:
                belaban Bela Ban
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: