Details

    • Type: Task
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 3.5
    • Fix Version/s: 4.0
    • Labels:
      None

      Description

      I'm thinking of deprecating the shared transport [1] and remove it in 4.0. The replacement would be fork channels [2].

      Here's my reasoning:

      • Shared transports are quite a complex beast: initialization (ref counting), cluster-name and local-addr are not used in TP when shared, duplicate logic. Removing this will make the code base smaller
      • All protocols above shared transports are not shared, e.g. FD_SOCK, NAKACK, UNICAST etc all maintain their own threads, retransmission tables, sockets etc. With fork channels, everything up to the FORK protocol is shared
      • TUNNEL doesn't work with shared transports (throws an exception)
      • Hidden insertion of TP$ProtocolAdapter into the stack when shared transports are used
      • Unneeded cost of sending N-1 messages (e.g. with TCP). Currently we send a message with dest null and no IP multicast capable transport to all physical addresses in the transport, which is a waste

      Thoughts ? My +100 for removing shared transports in 4.0...

      [1] http://www.jgroups.org/manual/html/user-advanced.html#SharedTransport
      [2] http://www.jgroups.org/manual/html/user-advanced.html#ForkChannel

        Gliffy Diagrams

          Attachments

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: