Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-2861

TARMK Cold Standby better binary decoding

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0.14, 1.2.3, 1.3.0, 1.4
    • Component/s: segmentmk
    • Labels:
      None

      Description

      The ColdStandby relies on an inefficient decoding mechanism which increases exponentially the times needed to transfer a binary (ex. a 300mb file can go over 10min). The issue is around the use of a ReplayingDecoder (the ReplyDecoder class) which will eagerly create byte arrays of the original length for each received fragment of the transferred file.
      So following the 300mb file example, for each inbound slice of hundreds of kbs, a new 300mb arrays is allocated, only to be thrown away by the ReplayingDecoder once it figures out the entire stream is not available yet.

        Attachments

          Activity

            People

            • Assignee:
              stillalex Alex Deparvu
              Reporter:
              stillalex Alex Deparvu

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment