Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-5385

Vector serializer fails to read saved SV2

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

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.8.0
    • 1.11.0
    • None

    Description

      Drill provides the VectorAccessibleSerializable class to write a record batch to a stream, and to read that batch from a stream. Record batches can carry an indirection vector (a so-called selection vector 2 or SV2).

      The code to write batches writes the SV2 to the stream. But, the code to deserialize batches initializes, but does not read, the SV2 from the stream.

      The result is that vector deserialization reads the wrong bytes and the saved values are corrupted on read.

      Note that this issue was found via unit testing. At present, the only production use of this code is in the external sort, which serializes batches without an indirection vector.

      Attachments

        Activity

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

          People

            paul-rogers Paul Rogers
            paul-rogers Paul Rogers
            Boaz Ben-Zvi Boaz Ben-Zvi
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment