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

Skip sstable startup checks for dropped system tables

    XMLWordPrintableJSON

Details

    Description

      In CASSANDRA-8049 we changed our behavior to explicitly not startup while iterating over the whole data file directory before loading schema. In the case where you have (admittedly very) old files left around from dropped system tables from old C* versions (think 1.0 era), you can end up with clusters that won't start due to what was, at the time, normal operations.

      We should change from hard killing nodes to instead warn operators they have leftovers of old system tables that need to be cleaned up. Ideally these files would be manually removed by operators before the upgrade to new versions however we can't always rely on this so killing nodes on startup for this specific case is suboptimal. We certainly still need to log the found files to give operators an indication of what needs to be cleaned up.

      While we can't load the schema to make sure all directories are safe, we can know which tables exist in the system keyspace so we should be able to safely modify this startup check to log rather than kill for system tables only.

      Attachments

        Activity

          People

            jmckenzie Josh McKenzie
            jmckenzie Josh McKenzie
            Josh McKenzie
            Marcus Eriksson
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m