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

Invalid cdc_raw_directory prevents server startup

    XMLWordPrintableJSON

    Details

    • Bug Category:
      Availability - Unavailable
    • Severity:
      Normal
    • Complexity:
      Low Hanging Fruit
    • Discovered By:
      Adhoc Test
    • Platform:
      All
    • Impacts:
      None
    • Since Version:
      4.0
    • Test and Documentation Plan:
      Hide

      Added tests for the factored out functionality. DatabaseDescriptor.applySimpeConfig is too monolithic to easily add a test to.

      Show
      Added tests for the factored out functionality. DatabaseDescriptor.applySimpeConfig is too monolithic to easily add a test to.

      Description

      If cdc_raw_directory is set to an invalid directory it prevents startup of the server even when cdc_enabled is set false.

      The directory can either be set directly by the cdc_raw_directory setting in configuration YAML or indirectly via the cassandra.storage_dir system property, which is how I encountered it.

      Easy to reproduce by setting cdc_raw_directory to notadir/notasubdir

      Additionally while investigating, discovered that DatabaseDescriptor.guessFileStore can cause a NullPointerException if it runs out of parent elements
      before it can get a FileStore. It should provide a more useful ConfigurationException providing details on the problematic path.
      guessFileStore is used for checks on commitlog_directory, cdc_raw_directory and data_file_directories.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jmeredithco Jon Meredith
                Reporter:
                jmeredithco Jon Meredith
                Authors:
                Jon Meredith
                Reviewers:
                Dinesh Joshi
              • Votes:
                0 Vote for this issue
                Watchers:
                2 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 - 10m
                  10m