Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-1437

Negative values corruption for RLE-encoded INT32 columns

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.6.0, 0.7.0, 0.8.0
    • Fix Version/s: 0.9.0
    • Component/s: cfile
    • Labels:
      None

      Description

      Putting a sequence of negative values to INT32 RLE-encoded column corrupts the data after compaction.

      The exact recipe to reproduce it is following:

      1) Put a sequence of negative values in descending order to an INT32 RLE-encoded column (it's a primary key in my case, but maybe regular columns are affected as well)
      2) Wait for compaction
      3) See you data converted to -1's

      A Gist showing an example of data corruption is available here: https://gist.github.com/pmaciolek/dfc6a95ff85145d23774cb5d1a9f5a4f (based on sample.cc provided with Kudu sources, note that -std=c++11 might need to be added to the compiler flags)

        Attachments

          Activity

            People

            • Assignee:
              tlipcon Todd Lipcon
              Reporter:
              przemur Przemyslaw Maciolek
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: