Skip to content

Conversation

@driftx
Copy link

@driftx driftx commented Dec 18, 2025

What is the issue

FSReadError extends IOError, so it was not caught by the catch block in filterCommitLogFiles(). This caused replayer failures when a remote commit log file was listed but no longer accessible.

What does this PR fix and why was it fixed

Only NoSuchFileException is handled gracefully; other IOErrors (such as corruption) are re-thrown to fail the replay as intended.

This should help fix flakiness in the CommitLogTest.testCommitLogReplayedOnStartup test.

FSReadError extends IOError (not Exception), so it was not caught by the
catch block in filterCommitLogFiles(). This caused replayer failures
when a remote commit log file was listed but no longer accessible.
@github-actions
Copy link

Checklist before you submit for review

  • This PR adheres to the Definition of Done
  • Make sure there is a PR in the CNDB project updating the Converged Cassandra version
  • Use NoSpamLogger for log lines that may appear frequently in the logs
  • Verify test results on Butler
  • Test coverage for new/modified code is > 80%
  • Proper code formatting
  • Proper title for each commit staring with the project-issue number, like CNDB-1234
  • Each commit has a meaningful description
  • Each commit is not very long and contains related changes
  • Renames, moves and reformatting are in distinct commits
  • All new files should contain the DataStax copyright header instead of the Apache License one

@cassci-bot
Copy link

❌ Build ds-cassandra-pr-gate/PR-2186 rejected by Butler


13 regressions found
See build details here


Found 13 new test failures

Test Explanation Runs Upstream
o.a.c.cql3.validation.operations.AggregationQueriesTest.testAggregationQueryShouldNotTimeoutWhenItExceedesReadTimeout (compression) NEW 🔴 2 / 28
o.a.c.distributed.test.DropUDTWithRestartTest.loadCommitLogAndSSTablesWithDroppedColumnTestCC50 NEW 🔴 24 / 28
o.a.c.distributed.test.DropUDTWithRestartTest.loadCommitLogAndSSTablesWithDroppedColumnTestCassandra41 NEW 🔴 3 / 28
o.a.c.distributed.test.DropUDTWithRestartTest.loadCommitLogAndSSTablesWithDroppedColumnTestCassandra5 NEW 🔴 3 / 28
o.a.c.distributed.test.hostreplacement.HostReplacementTest.retryingFailedReplaceWithNodeInHibernateState () NEW 🔴 0 / 28
o.a.c.distributed.test.sai.datamodels.QueryWriteLifecycleTest.testWriteLifecycle[CompositePartitionKeyDataModel] () NEW 🔴 0 / 28
o.a.c.hints.HintMessageTest.testEncodedVersionMatching (compression) NEW 🔴 0 / 28
o.a.c.index.SecondaryIndexManagerTest.testIndexRebuildWhenAddingSStableViaRemoteReload (compression) NEW 🔴 20 / 28
o.a.c.index.sai.cql.VectorCompaction100dTest.testOneToManyCompaction[dc false] () NEW 🔴 0 / 28
o.a.c.metrics.TrieMemtableMetricsTest.testContentionMetrics (compression) NEW 🔴 9 / 28
o.a.c.repair.FailedAckTest.failedAck () NEW 🔴 1 / 28
o.a.c.repair.FailingRepairFuzzTest.failingRepair () NEW 🔴 1 / 28
o.a.c.repair.SlowMessageFuzzTest.slowMessages (compression) NEW 🔴 0 / 28

No known test failures found

Copy link
Member

@michaelsembwever michaelsembwever left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applicable for upstream ?
( even if we don't support remote files, there can be other legit reasons for a NoSuchFileException that we can strengthen against. or do i have the logic backwards here? )

@driftx
Copy link
Author

driftx commented Dec 19, 2025

If you have legit reasons, want to make the ticket? I can only think of futureproofing.

@driftx driftx merged commit a51cdcc into main-5.0 Dec 19, 2025
570 of 593 checks passed
@driftx driftx deleted the CNDB-16352 branch December 19, 2025 17:48
@JeremiahDJordan
Copy link
Member

Was there a test failure this was fixing? Can we list the test name in the issue or the description here?

@driftx
Copy link
Author

driftx commented Dec 19, 2025

Updated the description with the test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants