Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-15086

Illegal column names make legacy sstables unreadable in 3.0/3.x

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Fix Version/s: 3.0.19, 3.11.5
    • Component/s: Local/SSTable
    • Labels:
      None
    • Bug Category:
      Availability - Response Crash
    • Severity:
      Normal
    • Complexity:
      Normal
    • Discovered By:
      Adhoc Test
    • Platform:
      All
    • Impacts:
      None
    • Since Version:
    • Test and Documentation Plan:
      Hide

      Add additional test to LegacySSTableTest. Run upgrade tests and compare against baseline 3.0/3.11 runs

      Show
      Add additional test to LegacySSTableTest. Run upgrade tests and compare against baseline 3.0/3.11 runs

      Description

      CASSANDRA-10608 adds extra validation when decoding a bytebuffer representing a legacy cellname. If the table is not COMPACT and the column name component of the cellname refers to a primary key column, an IllegalArgumentException is thrown. It looks like the original intent of 10608 was to prevent Thrift writes from inserting these invalid cells, but the same code path is exercised on the read path. The problem is that this kind of cells may exist in pre-3.0 sstables, either due to Thrift writes or through side loading of externally generated SSTables. Following an upgrade to 3.0, these partitions become unreadable, breaking both the read and compaction paths (and so also upgradesstables). Scrub in 2.1 does not help here as it blindly reproduces the invalid cells.

        Attachments

          Activity

            People

            • Assignee:
              samt Sam Tunnicliffe
              Reporter:
              samt Sam Tunnicliffe
              Authors:
              Sam Tunnicliffe
              Reviewers:
              Aleksey Yeschenko
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: