Skip to content

Conversation

@pauloricardomg
Copy link
Contributor

Thanks for sending a pull request! Here are some tips if you're new here:

  • Ensure you have added or run the appropriate tests for your PR.
  • Be sure to keep the PR description updated to reflect all changes.
  • Write your PR title to summarize what this PR proposes.
  • If possible, provide a concise example to reproduce the issue for a faster review.
  • Read our contributor guidelines
  • If you're making a documentation change, see our guide to documentation contribution

Commit messages should follow the following format:

<One sentence description, usually Jira title or CHANGES.txt summary>

<Optional lengthier description (context on patch)>

patch by <Authors>; reviewed by <Reviewers> for CASSANDRA-#####

Co-authored-by: Name1 <email1>
Co-authored-by: Name2 <email2>

The Cassandra Jira

pauloricardomg and others added 3 commits January 7, 2026 09:13
This forward ports the Apache Cassandra Unified Repair Solution (CEP-37) from
cassandra-4.1 (commit 858a7f3) to cassandra-5.0, adapting the implementation
for 5.0 API changes.

Key API adaptations:
- Migrated from BigTableScanner to SSTableReader.getPositionsForRanges() API
- Updated RepairRunnable references to RepairCoordinator (CASSANDRA-18816)
- Fixed SSTableIntervalTree.build() to buildSSTableIntervalTree()
- Updated Descriptor.baseFilename() to baseFile().name()
- Updated AUTH_TABLE_NAMES to include CIDR_PERMISSIONS, CIDR_GROUPS, and
  IDENTITY_TO_ROLES for 5.0
- Changed from bytesOnDisk() to onDiskLength() for SSTable size calculations

Includes bug fixes and features:
- Improved observability in AutoRepair (CASSANDRA-20581)
- Stop repair scheduler if two major versions detected (CASSANDRA-20048)
- Safeguard Full repair against disk protection (CASSANDRA-20045)
- Stop AutoRepair monitoring thread upon shutdown (CASSANDRA-20623)
- Fix race condition in auto-repair scheduler (CASSANDRA-20265)
- Minimum repair task duration setting (CASSANDRA-20160)
- Preview_repaired auto-repair type (CASSANDRA-20046)

patch by Paulo Motta; reviewed by Paulo Motta for CASSANDRA-19918

Co-Authored-By: Paulo Motta <paulo@apache.org>
Co-Authored-By: Andy Tolbert <andy_tolbert@apple.com>
Co-Authored-By: Chris Lohfink <clohfink@netflix.com>
Co-Authored-By: Francisco Guerrero <frankgh@apache.org>
Co-Authored-By: Himanshu Jindal <himanshj@amazon.com>
Co-Authored-By: Jaydeepkumar Chovatia <jchovati@uber.com>
Co-Authored-By: Kristijonas Zalys <kzalys@uber.com>
Co-Authored-By: jaydeepkumar1984 <chovatia.jaydeep@gmail.com>
Adds a guard that blocks auto-repair when any cluster node has a version
below 5.0.7 or an unknown version, ensuring the feature only runs when
all nodes support it.
Introduces cassandra.autorepair.enable property (default: false) that
completely disables auto-repair when set to false. When disabled:
- No MBean registration
- No service initialization
- No scheduler setup
- No bootstrap integration

This provides a clean way to disable the feature at startup with no
runtime overhead for supporting structures.
@pauloricardomg pauloricardomg changed the base branch from trunk to cassandra-5.0 January 12, 2026 16:24
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.

1 participant