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

When repair is running with tracing, if a CorruptSSTableException is thrown while building Merkle Trees the DiskFailurePolicy does not get applied

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Degradation - Other Exception
    • Normal
    • Low Hanging Fruit
    • Unit Test
    • All
    • None
    • Hide
      branch diff tests pr
      branch diff tests pr

      Changes:

      1) JVMStabilityInspector checks for corruption or FSError and delegates to FileUtils for handling

      2) FileUtils now implements the die behavior

      3) JVMStabilityInspector now walks suppressed exceptions as well as the caused exception (edge case not in streaming where the second exception is fserror or corruption, so just added since saw suppression was common)

      4) dtest updated to keep track of the number of kill attempts (though does not kill, mostly so tests can reuse the cluster)

      Test case added which causes a corruption exception to be thrown from a SSTable during validation and shows that the handling makes its way to JVMStabilities kill instance method.

      Show
      branch diff tests pr branch diff tests pr Changes: 1) JVMStabilityInspector checks for corruption or FSError and delegates to FileUtils for handling 2) FileUtils now implements the die behavior 3) JVMStabilityInspector now walks suppressed exceptions as well as the caused exception (edge case not in streaming where the second exception is fserror or corruption, so just added since saw suppression was common) 4) dtest updated to keep track of the number of kill attempts (though does not kill, mostly so tests can reuse the cluster) Test case added which causes a corruption exception to be thrown from a SSTable during validation and shows that the handling makes its way to JVMStabilities kill instance method.

    Description

      When a repair is in the validation phase and is building MerkleTrees, if a corrupt SSTable exception is thrown the disk failure policy does not get applied

      Attachments

        Activity

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

          People

            dcapwell David Capwell Assign to me
            dcapwell David Capwell
            David Capwell
            Jordan West, Marcus Eriksson
            Votes:
            0 Vote for this issue
            Watchers:
            4 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 - 2h
                2h

                Slack

                  Issue deployment