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

State transfer speed improvement

    XMLWordPrintable

Details

    • Enhancement
    • Resolution: Done
    • Major
    • 4.2.12, 5.1.6
    • 4.2.11, 5.1.5
    • None
    • False
    • False
    • Undefined

    Description

      The state transfer in STATE writes into a ByteArrayDataOutputStream instead of ByteArrayOutputStream as the case in STATE_TRANSFER. In our case with replicated maps containing thousands of complex class objects this takes an insane amount of time now. Reason for this I would say is that the stream buffer is increasing in very small steps (as you have documented) and the result is very expensive array copying taking place. Wrapping with BufferedOutputStream does not help much once the buffer starts to become large. 
       
      Just by letting the ByteArrayDataOutputStream grow exponentially we get a massive speed improvement. 

      Attachments

        Activity

          People

            rhn-engineering-bban Bela Ban
            johan.piculell Johan Piculell (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: