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

Bundlers: reuse send buffer when transport == sync.

    XMLWordPrintable

Details

    • Enhancement
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Done
    • None
    • 3.6.7
    • None

    Description

      With the addition of TCP_NIO2, all bundlers now create new send buffers for every message (or message list). This generates a lot of memory allocations, perhaps it is better to revert this change for synchronous transports such as UDP and TCP, and still create new buffers for asynchronous transports such as TCP_NIO2.
      Synchronous transports guarantee a message has been put on the wire when TP.send() returns, whereas asynchronous transports may only have completed a partial write (so we cannot reuse the buffer).
      The code in the bundler should check for this, and copy if async or not copy if sync.
      Whether or not a transport is sync is determined by a new abstract method that needs to be overridden by every transport.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: