Uploaded image for project: 'Apache Tez'
  1. Apache Tez
  2. TEZ-2574

Make a better Metadata Value split choice in Pipeline sort

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

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      In the current implementation of pipeline sort, when a new sort span object is created with a hard coded value of 1M items and 16 bytes per item.
      According to the present code logic,
      int metasize = METASIZE*maxItems;
      int dataSize = maxItems * perItem;
      if(capacity < (metasize+dataSize))

      { // try to allocate less meta space, because we have sample data metasize = METASIZE*(capacity/(perItem+METASIZE)); }

      if capacity is less than 32mb, the buffer will be halved into meta and value buffers, which is not efficient.
      We need a more generic split, based on the KV pair size written to the buffer.

      Attachments

        1. TEZ-2574.patch
          15 kB
          Saikat
        2. TEZ-2574.3.patch
          11 kB
          Saikat
        3. TEZ-2574.2.patch
          11 kB
          Saikat
        4. TEZ-2574.1.patch
          10 kB
          Saikat

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            saikatr Saikat
            saikatr Saikat

            Dates

              Created:
              Updated:

              Slack

                Issue deployment