Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
204 commits
Select commit Hold shift + click to select a range
d8e6bf9
autorepair v2 framework
jaydeepkumar1984 May 11, 2024
cd02bb1
cr
jaydeepkumar1984 Jul 23, 2024
63c24b2
chop the repair API
jaydeepkumar1984 Jul 27, 2024
7036232
Add a test case that ensures LocalStrategy.class is ignored from bein…
kzalys Aug 16, 2024
b0582c6
Shuffle keyspaces and tables when running auto-repair
kzalys Aug 16, 2024
b74c756
Prevent node restart from scheduling a premature auto-repair cycle
kzalys Aug 17, 2024
b59f983
Implement SucceededTokenRangesCount and FailedTokenRangesCount metric…
kzalys Aug 17, 2024
749c87e
Add intial_scheduler_delay option to AutoRepairConfig
kzalys Aug 17, 2024
56394b2
Implement nodetool sstablerepairedset
kzalys Aug 18, 2024
3acd8f7
Change SkippedTablesCount metric to SkippedTokenRangesCount
kzalys Aug 25, 2024
204faaf
config description
jaydeepkumar1984 Aug 26, 2024
edb6f1d
Implement repair retries for auto-repair scheduler
kzalys Aug 29, 2024
81dff60
Extend nodetool sstablerepairedset to affect all keyspaces when no ke…
kzalys Aug 30, 2024
6de56ed
Make repair session timeout configurable
jaydeepkumar1984 Aug 30, 2024
c2a8514
Comments from Joshua M
jaydeepkumar1984 Sep 6, 2024
8e37bad
AutoRepair scheduler InJvm dtest
jaydeepkumar1984 Sep 7, 2024
ea14363
Increase CircleCI parallelism 1-->4
jaydeepkumar1984 Sep 24, 2024
22e2e7b
Fix a test case failure org.apache.cassandra.schema.SchemaKeyspaceTes…
jaydeepkumar1984 Sep 24, 2024
bcc5f3f
Trigger automatic CircleCI jobs
jaydeepkumar1984 Sep 24, 2024
4c5a161
CircleCI ask for a manual approval
jaydeepkumar1984 Sep 24, 2024
3272501
Fix the JMXStandardsTest::interfaces
kzalys Sep 25, 2024
35ff991
Circle AutoStart J8 tests
jaydeep1984 Sep 25, 2024
358086f
Allow IR to run with MVs and CDC if write path replay is disabled
kzalys Sep 26, 2024
73471d5
Add a nodetool command to get the nodes going through repair
kzalys Sep 27, 2024
fb53dc5
Adjust a couple of default configuration values
jaydeepkumar1984 Sep 27, 2024
ea57931
Rename EMPTY --> NONE for Nodetool autorepairstatus command
jaydeepkumar1984 Sep 27, 2024
8778559
Minor code refactoring to simplify the repair API by removing the SLE…
jaydeepkumar1984 Sep 28, 2024
7d1dcbd
Adjust AutoRepair on 5.0
jaydeepkumar1984 Sep 30, 2024
00b42a0
Fix unit test cases DescribeStatementTest & SchemaCQLHelperTest
jaydeepkumar1984 Sep 30, 2024
a8f0660
Safeguard the setup call to ensure it it done only once
jaydeepkumar1984 Sep 30, 2024
6f6ce0b
Fix InJvm test AutoRepairSchedulerTest
jaydeepkumar1984 Oct 1, 2024
b565461
Unit test failures AutoRepairTest.java
jaydeepkumar1984 Oct 1, 2024
6d8ab39
5.0 formatting
jaydeepkumar1984 Oct 3, 2024
ce44307
Fix flaky AutoRepairTest::testSetup and AutoRepairTest::testSafeGuard…
jaydeepkumar1984 Oct 8, 2024
f3a0726
Fix a test failure inside pylib/cqlshlib/test/test_cqlsh_output.py
kzalys Oct 8, 2024
5be776a
AutoRepair nodetool throws an exception if the framework is disabled
jaydeepkumar1984 Oct 9, 2024
2a6ef17
Run repair on bootstrapped if configured to do so
jaydeepkumar1984 Oct 9, 2024
03d4c2a
Fix broken AutoRepairSchedulerTest.java & AutoRepairStatusTest.java
jaydeepkumar1984 Oct 9, 2024
7dc3838
Comments from Chris Lohfink: nix automated_ and a typo
jaydeepkumar1984 Oct 9, 2024
4e11075
Comments from Chris Lohfink: System::currentTimeMillis --> Clock.Glob…
jaydeepkumar1984 Oct 9, 2024
d65f572
Update IAutoRepairTokenRangeSplitter API to be more flexible
tolbertam Sep 25, 2024
0cff250
Fix a corner-case bug NPE org.apache.cassandra.repair.autorepair.Auto…
jaydeepkumar1984 Oct 12, 2024
fde8a0d
Update documentation for the newly added metric
jaydeepkumar1984 Oct 14, 2024
27eaf5f
Fix the failed StorageServiceServerTest test cases
jaydeepkumar1984 Oct 15, 2024
dfb3731
Formatting: Add a new line towards the end SystemDistributedKeyspace.…
jaydeepkumar1984 Oct 15, 2024
2fbb735
Formatting: Add a new line towards the end IAutoRepairTokenRangeSplit…
jaydeepkumar1984 Oct 15, 2024
38cd7c3
Formatting: YamlConfigurationLoader.java & CassandraStreamReceiver.java
jaydeepkumar1984 Oct 15, 2024
d06952e
Revert .circleci/config.yaml settings
jaydeepkumar1984 Oct 17, 2024
5fb641b
Code formatting: Remove Group from naming
jaydeepkumar1984 Oct 27, 2024
991da16
Enable repair scheduler through nodetool
jaydeepkumar1984 Oct 28, 2024
6fd9414
Increment system_distributed GENERATION
jaydeepkumar1984 Oct 29, 2024
7b84580
Option to disable write path during streaming for MV enabled tables; …
jaydeepkumar1984 Nov 4, 2024
8444d4f
cr from tolbertam - replace MV/CDC repair replay JVM properties to ya…
jaydeepkumar1984 Nov 4, 2024
45c6f5a
code formatting for StreamOperation.java
jaydeepkumar1984 Nov 5, 2024
e06688e
ant checkstyle: toLowerCase-->toLowerCaseLocalized
jaydeepkumar1984 Nov 6, 2024
456aa21
code formatting: DatabaseDescriptor.java
jaydeepkumar1984 Nov 6, 2024
44b9b5a
Rename AutoRepair --> UnifiedRepair
jaydeepkumar1984 Nov 21, 2024
7e6dfcb
Revert "Rename AutoRepair --> UnifiedRepair"
jaydeep1984 Nov 21, 2024
181b98b
Implement preview repaired metrics
kzalys Nov 7, 2024
372ee04
Improve preview repair metrics
kzalys Nov 21, 2024
ca1c205
Update src/java/org/apache/cassandra/repair/autorepair/AutoRepairConf…
kzalys Nov 26, 2024
b01cdd4
Address comments
kzalys Dec 4, 2024
10ecb9a
Fix preview repair options for system_schema ks
kzalys Dec 4, 2024
853aaad
Implement BytesPreviewed and TokenRangesPreviewed metrics
kzalys Dec 4, 2024
472d995
Update test/unit/org/apache/cassandra/repair/autorepair/AutoRepairPar…
kzalys Dec 6, 2024
a32d497
Address comments
kzalys Dec 6, 2024
c007c75
Update metrics docs
kzalys Dec 6, 2024
e936b6a
Update metrics
kzalys Dec 6, 2024
0241f6a
UnrepairedBytesBasedTokenRangeSplitter prototype
tolbertam Nov 3, 2024
84b8ac6
Add Repair range splitter
clohfink Nov 7, 2024
9aad4c0
add assignment priorirty to table options
clohfink Nov 8, 2024
d92db85
reorder with DefaultAutoRepairTokenSplitter
clohfink Nov 8, 2024
3b5375c
add tests for partition count estimation
clohfink Nov 8, 2024
93bfff0
Add license header to RepairRangeSplitter
tolbertam Nov 10, 2024
abde683
Simplify access of repair_type_overrides, key by String
tolbertam Nov 10, 2024
d76ce3a
Allow partial repair of range, factor in total bytes for IR
tolbertam Nov 11, 2024
ec6a160
update warnings based on repair type
clohfink Nov 14, 2024
2a29b88
Move size comparison up so priority can be factored in
tolbertam Nov 27, 2024
cd254bc
Various cleanup
tolbertam Nov 27, 2024
1b3c19f
Handle EmpySSTableScanner being returned from getScanner
tolbertam Nov 27, 2024
ff3461f
Minor refactoring around bytesPerSubrange, logging
tolbertam Nov 27, 2024
e1a40f9
Cleanup logging of repair assignments
tolbertam Nov 27, 2024
46642a3
Remove UnrepairedBytesBasedTokenRangeSplitter
tolbertam Nov 30, 2024
276f4b3
Refactor RepairRangeSplitter interface to accept all keyspaces
tolbertam Nov 30, 2024
6b48aea
Naming consistency
tolbertam Nov 30, 2024
477f22d
Use memtable size for memtable only
tolbertam Nov 30, 2024
91dea13
Fix dtest
tolbertam Dec 2, 2024
d589253
Refactor IAutoRepairTokenRangeSplitter to be Iterator based
tolbertam Dec 2, 2024
d9d3d5a
Add more priority and range splitter tests
tolbertam Dec 2, 2024
3e1446a
Refactor a missed change during the rebase
jaydeepkumar1984 Dec 10, 2024
2db9909
Set thread name based on RepairType.getConfigName()
tolbertam Dec 7, 2024
005d853
Flatten the auto_repair table property
jaydeepkumar1984 Dec 8, 2024
1a42410
Fix ant checkstyle errors
jaydeepkumar1984 Dec 10, 2024
97adc87
Ignore keyspaces with MetaStrategy
jaydeepkumar1984 Dec 10, 2024
86a6984
Adjust BigTableScanner.getScanner as per 5.1 API set
jaydeep1984 Dec 10, 2024
aaf0936
Fix antcheckstyle
jaydeepkumar1984 Dec 10, 2024
706da15
Fix ant test-latest failures for RepairRangeSplitterTest-latest_jdk17…
jaydeepkumar1984 Dec 12, 2024
8c154a5
utest: calculate expected tables dynamically instead of a fixed value
tolbertam Dec 15, 2024
500b59d
Ignore repair for system_traces keyspace
jaydeepkumar1984 Dec 18, 2024
320596a
CR from Andy T
jaydeepkumar1984 Dec 19, 2024
de4e5e8
Fix diff40
jaydeepkumar1984 Dec 19, 2024
d891d28
Fix diff41
jaydeepkumar1984 Dec 19, 2024
33486cb
Convert the metrics to TableMeter
jaydeepkumar1984 Dec 20, 2024
6d30edb
Add a global type=ColumnFamily
jaydeep1984 Dec 20, 2024
ef9195c
Remove an extra empty line
jaydeep1984 Dec 20, 2024
2ef64ab
Revert the cassandra-4.x.xml changes
jaydeepkumar1984 Dec 20, 2024
a69203b
gauge compatible meter
tolbertam Dec 21, 2024
e1b62dd
Implement minimum repair task duration setting for auto-repair scheduler
kzalys Dec 20, 2024
731a322
Cleanup
kzalys Dec 20, 2024
ce157fa
Cleanup
kzalys Dec 20, 2024
58d7870
Address comment
kzalys Dec 21, 2024
e77e863
Remove unused imports
jaydeepkumar1984 Dec 21, 2024
e545fb2
formatting
jaydeepkumar1984 Dec 21, 2024
38d1f5a
Make RepairTokenRangeSplitter the default implementation
tolbertam Jan 2, 2025
8ef4b6d
JDK 8 support and test rename
tolbertam Jan 2, 2025
130cf8f
Fix newAutoRepairTokenRangeSplitter duplication
tolbertam Jan 2, 2025
aa9c989
Nit-fixing in existing code
tolbertam Jan 3, 2025
213d06e
Process feedback
tolbertam Jan 3, 2025
3a4fe1c
Fix the the total expected sub-ranges calculation keeping v-nodes in …
jaydeepkumar1984 Jan 5, 2025
82a7e82
Feedback and update tests
tolbertam Jan 6, 2025
6991063
Remove unused import in RepairTokenRangeSplitterTest.java
jaydeepkumar1984 Jan 7, 2025
992281a
Add configuration to cassandra.yaml and cassandra_later.yaml
jaydeepkumar1984 Jan 8, 2025
aa6c040
Add a doc for AutoRepair feature
jaydeepkumar1984 Jan 8, 2025
9e536c4
cr from Andy
jaydeepkumar1984 Jan 16, 2025
add307c
address cr from Andy
jaydeepkumar1984 Jan 21, 2025
6791ec6
partitions_per_assignment to not use repair_session_max_tree_depth
tolbertam Jan 23, 2025
d09cebc
Fix inconsistent spacing in javadoc
tolbertam Jan 23, 2025
5009bb5
Make AutoRepair's repair_by_keyspace default to true instead of false
tolbertam Jan 23, 2025
9947f69
AutoRepairServiceMBean should not use custom types for JMX methods
frankgh Jan 25, 2025
d51ab47
Address comments
frankgh Jan 25, 2025
d78745e
Fix tests and rename autoRepairConfiguration -> getAutoRepairConfigur…
frankgh Jan 28, 2025
ed19d4c
Adjust based on the latest trunk
jaydeepkumar1984 Jan 29, 2025
d1ab233
Remove commented code; use TokenRingUtils.getPrimaryRangesForEndpoint…
jaydeepkumar1984 Feb 4, 2025
de001e5
Update RepairTokenRangeSplitter to work with BTI-formatted SSTables
tolbertam Feb 11, 2025
e38196c
Avoid possible division by zero
tolbertam Feb 11, 2025
5d810c1
Test with Bti and Big format sstables
tolbertam Feb 11, 2025
acf51fb
Assert correct format selected
tolbertam Feb 11, 2025
183a556
Merge pull request #36 from tolbertam/CASSANDRA-20315
jaydeepkumar1984 Feb 11, 2025
61e7915
Fix review comments from Andy
jaydeepkumar1984 Feb 10, 2025
16ab1a9
Fix review comments from Jaydeepkumar
jaydeepkumar1984 Feb 11, 2025
dbf2bbe
Fix review comments from Andy
jaydeepkumar1984 Feb 11, 2025
43962b2
Merge pull request #35 from jaydeepkumar1984/trunk_cep_37_cr_feb_10_2025
jaydeepkumar1984 Feb 12, 2025
f3e647d
Additional review comments from Jaydeepkumar
jaydeepkumar1984 Feb 12, 2025
051b52c
Additional review comments from Andy
jaydeepkumar1984 Feb 13, 2025
270c067
Merge pull request #37 from jaydeepkumar1984/trunk_cep_37_cr_feb_11_2025
jaydeepkumar1984 Feb 13, 2025
cf8c30f
Additional review comments from Jaydeepkumar
jaydeepkumar1984 Feb 13, 2025
4c1269f
Merge pull request #38 from jaydeepkumar1984/trunk_cep_37_cr_feb_13_2025
jaydeepkumar1984 Feb 14, 2025
71edb07
Incorporate NEWS.txt review comment
jaydeepkumar1984 Feb 14, 2025
3f5c904
Merge pull request #40 from jaydeepkumar1984/trunk_cep_37_cr_feb_14_2025
jaydeepkumar1984 Feb 14, 2025
de84f89
A new table property should be wrapped inside a config
jaydeepkumar1984 Feb 21, 2025
1593393
Skip displaying the table property if AutoRepair is disabled
jaydeepkumar1984 Feb 21, 2025
161c789
Fix broken tests
jaydeepkumar1984 Feb 21, 2025
94f752d
Extend DescribeStatementTest to cover properties when AutoRepair sche…
jaydeepkumar1984 Feb 21, 2025
7205e08
Merge pull request #42 from jaydeepkumar1984/trunk_cep_37_CASSANDRA-2…
jaydeepkumar1984 Feb 25, 2025
45831e0
Fix race condition in auto-repair scheduler
kzalys Jan 30, 2025
7e34c84
Address comments
kzalys Feb 24, 2025
9cc673e
Address comments
kzalys Feb 24, 2025
1fce920
Fix formatting
kzalys Feb 24, 2025
8848809
Account for vnodes with repair_by_keyspace in RepairTokenRangeSplitter
tolbertam Mar 3, 2025
d798793
Merge pull request #43 from jaydeepkumar1984/trunk_cep_37_CASSANDRA_2…
jaydeepkumar1984 Feb 26, 2025
0c667a7
Make work with JDK11 (and JDK8)
tolbertam Mar 3, 2025
3b63f66
Merge pull request #44 from tolbertam/CASSANDRA-20392
jaydeepkumar1984 Mar 3, 2025
a2ada81
Adjust as per latest trunk as of 03-Mar-2025
jaydeepkumar1984 Mar 3, 2025
cf60b85
Type & Remove whitespace
jaydeepkumar1984 Mar 4, 2025
f58db49
Ensure the main config obj has been initialized before checking the y…
jaydeepkumar1984 Mar 6, 2025
63db171
Use the last repair stat to confirm that the repair ran indeed instea…
jaydeepkumar1984 Mar 6, 2025
b3ab3a0
Incorporate the code review comments
jaydeepkumar1984 Mar 6, 2025
040eceb
Incorporate the code review comments
jaydeepkumar1984 Mar 6, 2025
59def74
Group all public statements together
jaydeepkumar1984 Mar 6, 2025
91ad4a3
No need for try/catch in the test case
jaydeepkumar1984 Mar 6, 2025
dbf4888
Merge pull request #45 from jaydeepkumar1984/trunk_cep_37_CASSANDRA_2…
jaydeepkumar1984 Mar 7, 2025
3381e6d
Avoid micros splitting of token ranges for FixedSplitTokenRangeSplitter
jaydeepkumar1984 Mar 7, 2025
a01c819
Make the number_of_subranges parameterized in test case
jaydeepkumar1984 Mar 8, 2025
f96b1e8
Auto Repair Documentation improvements, bytes_per_assignment to 50GiB
tolbertam Mar 8, 2025
0234bb4
Revert tombstones.adoc no op changes.
tolbertam Mar 8, 2025
ab30ae4
Add documentation for reject_repair_compaction_threshold
tolbertam Mar 8, 2025
ce18b5a
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
tolbertam Mar 9, 2025
a34341f
Update conf/cassandra.yaml
tolbertam Mar 9, 2025
e80fca4
Update conf/cassandra.yaml
tolbertam Mar 9, 2025
d682b81
Update conf/cassandra.yaml
tolbertam Mar 9, 2025
605e231
Update conf/cassandra.yaml
tolbertam Mar 9, 2025
709815b
Doc and conf fixes, initial IR enablement guidance
tolbertam Mar 9, 2025
a1aa12c
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
tolbertam Mar 9, 2025
b15ba7c
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
tolbertam Mar 9, 2025
6a64ff4
Review comments from Andy
jaydeepkumar1984 Mar 9, 2025
33f7a15
Add v-nodes and non v-nodes test cases
jaydeepkumar1984 Mar 9, 2025
2fca3cb
Adjust the comment
jaydeepkumar1984 Mar 9, 2025
34e0106
Add the missing nodetool way to update repair_by_keyspace
jaydeepkumar1984 Mar 10, 2025
c9ae817
Use common setup code for FixedSplitTokenRangeSplitterTest*.java
jaydeepkumar1984 Mar 10, 2025
0ae1679
Fix FixedSplitTokenRangeSplitterHelper.java failure
jaydeepkumar1984 Mar 10, 2025
bb98adf
Update num_of_subranges
tolbertam Mar 10, 2025
28694bb
Address review comments: update comment/remove dead code
jaydeepkumar1984 Mar 10, 2025
d135dd4
Adjust comment for DEFAULT_NUMBER_OF_SUBRANGES and NUMBER_OF_SUBRANGES
jaydeepkumar1984 Mar 11, 2025
a7c072c
Merge pull request #46 from jaydeepkumar1984/trunk_cep_37_CASSANDRA_2…
jaydeepkumar1984 Mar 12, 2025
1256d11
Merge pull request #47 from tolbertam/CASSANDRA-20421
jaydeepkumar1984 Mar 12, 2025
348b556
Move auto-repair retry policy config to repair-type level
kzalys Mar 12, 2025
1f1cadb
Rebase
kzalys Mar 13, 2025
3ac5d36
Update docs
kzalys Mar 13, 2025
88dd2d5
Merge pull request #49 from kzalys/CASSANDRA-20430
jaydeepkumar1984 Mar 13, 2025
d303763
Avoid returning MY_TURN when replicas are actively taking their turn
tolbertam Mar 13, 2025
2f03e05
Merge pull request #51 from tolbertam/CASSANDRA-20180
jaydeepkumar1984 Mar 19, 2025
74e63d2
test
jaydeep1984 Sep 25, 2024
ec8c2ef
Revert "test"
jaydeepkumar1984 Mar 22, 2025
7f4b241
test - new type
jaydeepkumar1984 Mar 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions NEWS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ using the provided 'sstableupgrade' tool.
New features
------------
[The following is a placeholder, to be revised asap]
- CEP-37 Auto Repair is a fully automated scheduler that provides repair orchestration within Apache Cassandra. This
significantly reduces operational overhead by eliminating the need for operators to deploy external tools to submit
and manage repairs. See
https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-37+Apache+Cassandra+Unified+Repair+Solution for more
details on the motivation and design.
- CEP-21 Transactional Cluster Metadata introduces a distributed log for linearizing modifications to cluster
metadata. In the first instance, this encompasses cluster membership, token ownership and schema metadata. See
https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-21%3A+Transactional+Cluster+Metadata for more detail on
Expand Down
166 changes: 166 additions & 0 deletions conf/cassandra.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2150,6 +2150,13 @@ report_unconfirmed_repaired_data_mismatches: false
# Materialized views are considered experimental and are not recommended for production use.
materialized_views_enabled: false

# Specify whether Materialized View mutations are replayed through the write path on streaming, e.g. repair.
# When enabled, Materialized View data streamed to the destination node will be written into commit log first. When setting to false,
# the streamed Materialized View data is written into SSTables just the same as normal streaming. The default is true.
# If this is set to false, streaming will be considerably faster however it's possible that, in extreme situations
# (losing > quorum # nodes in a replica set), you may have data in your SSTables that never makes it to the Materialized View.
# materialized_views_on_repair_enabled: true

# Enables SASI index creation on this node.
# SASI indexes are considered experimental and are not recommended for production use.
sasi_indexes_enabled: false
Expand Down Expand Up @@ -2614,3 +2621,162 @@ drop_compact_storage_enabled: false
# compatibility mode would no longer toggle behaviors as when it was running in the UPGRADING mode.
#
storage_compatibility_mode: NONE

# Prevents preparing a repair session or beginning a repair streaming session if pending compactions is over
# the given value. Defaults to disabled.
# reject_repair_compaction_threshold: 1024

# At least 20% of disk must be unused to run incremental repair. It is useful to avoid disks filling up during
# incremental repair as anti-compaction during incremental repair may contribute to additional space temporarily.
# if you want to disable this feature (the recommendation is not to, but if you want to disable it for whatever reason)
# then set the ratio to 0.0
# incremental_repair_disk_headroom_reject_ratio: 0.2;

# Configuration for Auto Repair Scheduler.
#
# This feature is disabled by default.
#
# See: https://cassandra.apache.org/doc/latest/cassandra/managing/operating/auto_repair.html for an overview of this
# feature.
#
# auto_repair:
# # Enable/Disable the auto-repair scheduler.
# # If set to false, the scheduler thread will not be started.
# # If set to true, the repair scheduler thread will be created. The thread will
# # check for secondary configuration available for each repair type (full, incremental,
# # and preview_repaired), and based on that, it will schedule repairs.
# enabled: true
# repair_type_overrides:
# full:
# # Enable/Disable full auto-repair
# enabled: true
# # Minimum duration between repairing the same node again. This is useful for tiny clusters,
# # such as clusters with 5 nodes that finish repairs quickly. This means that if the scheduler completes one
# # round on all nodes in less than this duration, it will not start a new repair round on a given node until
# # this much time has passed since the last repair completed. Consider increasing to a larger value to reduce
# # the impact of repairs, however note that one should attempt to run repairs at a smaller interval than
# # gc_grace_seconds to avoid potential data resurrection.
# min_repair_interval: 24h
# token_range_splitter:
# # Implementation of IAutoRepairTokenRangeSplitter; responsible for splitting token ranges
# # for repair assignments.
# #
# # Out of the box, Cassandra provides org.apache.cassandra.repair.autorepair.{RepairTokenRangeSplitter,
# # FixedTokenRangeSplitter}.
# #
# # - RepairTokenRangeSplitter (default) attempts to intelligently split ranges based on data size and partition
# # count.
# # - FixedTokenRangeSplitter splits into fixed ranges based on the 'number_of_subranges' option.
# # class_name: org.apache.cassandra.repair.autorepair.RepairTokenRangeSplitter
#
# # Optional parameters can be specified in the form of:
# # parameters:
# # param_key1: param_value1
# parameters:
# # The target and maximum amount of compressed bytes that should be included in a repair assignment.
# # This scopes the amount of work involved in a repair and includes the data covering the range being
# # repaired.
# bytes_per_assignment: 50GiB
# # The maximum number of bytes to cover in an individual schedule. This serves as
# # a mechanism to throttle the work done in each repair cycle. You may reduce this
# # value if the impact of repairs is causing too much load on the cluster or increase it
# # if writes outpace the amount of data being repaired. Alternatively, adjust the
# # min_repair_interval.
# # This is set to a large value for full repair to attempt to repair all data per repair schedule.
# max_bytes_per_schedule: 100000GiB
# incremental:
# enabled: false
# # Incremental repairs operate over unrepaired data and should finish quickly. Running incremental repair
# # frequently keeps the unrepaired set smaller and thus causes repairs to operate over a smaller set of data,
# # so a more frequent schedule such as 1h is recommended.
# # NOTE: Please consult
# # https://cassandra.apache.org/doc/latest/cassandra/managing/operating/auto_repair.html#enabling-ir
# # for guidance on enabling incremental repair on ane exiting cluster.
# min_repair_interval: 24h
# token_range_splitter:
# parameters:
# # Configured to attempt repairing 50GiB of compressed data per repair.
# # This throttles the amount of incremental repair and anticompaction done per schedule after incremental
# # repairs are turned on.
# bytes_per_assignment: 50GiB
# # Restricts the maximum number of bytes to cover in an individual schedule to the configured
# # max_bytes_per_schedule value (defaults to 100GiB for incremental).
# # Consider increasing this value if more data is written than this limit within the min_repair_interval.
# max_bytes_per_schedule: 100GiB
# preview_repaired:
# # Performs preview repair over repaired SSTables, useful to detect possible inconsistencies in the repaired
# # data set.
# enabled: false
# min_repair_interval: 24h
# token_range_splitter:
# parameters:
# bytes_per_assignment: 50GiB
# max_bytes_per_schedule: 100000GiB
# # Time interval between successive checks to see if ongoing repairs are complete or if it is time to schedule
# # repairs.
# repair_check_interval: 5m
# # Minimum duration for the execution of a single repair task. This prevents the scheduler from overwhelming
# # the node by scheduling too many repair tasks in a short period of time.
# repair_task_min_duration: 5s
# # The scheduler needs to adjust its order when nodes leave the ring. Deleted hosts are tracked in metadata
# # for a specified duration to ensure they are indeed removed before adjustments are made to the schedule.
# history_clear_delete_hosts_buffer_interval: 2h
# # NOTE: Each of the below settings can be overridden per repair type under repair_type_overrides
# global_settings:
# # If true, attempts to group tables in the same keyspace into one repair; otherwise, each table is repaired
# # individually.
# repair_by_keyspace: true
# # Number of threads to use for each repair job scheduled by the scheduler. Similar to the -j option in nodetool
# # repair.
# number_of_repair_threads: 1
# # Number of nodes running repair in parallel. If parallel_repair_percentage is set, the larger value is used.
# parallel_repair_count: 3
# # Percentage of nodes in the cluster running repair in parallel. If parallel_repair_count is set, the larger value
# # is used.
# parallel_repair_percentage: 3
# # Whether to allow a node to take its turn running repair while one or more of its replicas are running repair.
# # Defaults to false, as running repairs concurrently on replicas can increase load and also cause anticompaction
# # conflicts while running incremental repair.
# allow_parallel_replica_repair: false
# # An addition to allow_parallel_replica_repair that also blocks repairs when replicas (including this node itself)
# # are repairing in any schedule. For example, if a replica is executing full repairs, a value of false will
# # prevent starting incremental repairs for this node. Defaults to true and is only evaluated when
# # allow_parallel_replica_repair is false.
# allow_parallel_replica_repair_across_schedules: true
# # Repairs materialized views if true.
# materialized_view_repair_enabled: false
# # Delay before starting repairs after a node restarts to avoid repairs starting immediately after a restart.
# initial_scheduler_delay: 5m
# # Timeout for resuming stuck repair sessions.
# repair_session_timeout: 3h
# # Force immediate repair on new nodes after they join the ring.
# force_repair_new_node: false
# # Threshold to skip repairing tables with too many SSTables. Defaults to 10,000 SSTables to avoid penalizing good
# # tables.
# sstable_upper_threshold: 10000
# # Maximum time allowed for repairing one table on a given node. If exceeded, the repair proceeds to the
# # next table.
# table_max_repair_time: 6h
# # Avoid running repairs in specific data centers. By default, repairs run in all data centers. Specify data
# # centers to exclude in this list. Note that repair sessions will still consider all replicas from excluded
# # data centers. Useful if you have keyspaces that are not replicated in certain data centers, and you want to
# # not run repair schedule in certain data centers.
# ignore_dcs: []
# # Repair only the primary ranges owned by a node. Equivalent to the -pr option in nodetool repair. Defaults
# # to true. General advice is to keep this true.
# repair_primary_token_range_only: true
# # Maximum number of retries for a repair session.
# repair_max_retries: 3
# # Backoff time before retrying a repair session.
# repair_retry_backoff: 30s
# token_range_splitter:
# # Splitter implementation to generate repair assignments. Defaults to RepairTokenRangeSplitter.
# class_name: org.apache.cassandra.repair.autorepair.RepairTokenRangeSplitter
# parameters:
# # Maximum number of partitions to include in a repair assignment. Used to reduce number of partitions
# # present in merkle tree leaf nodes to avoid overstreaming.
# partitions_per_assignment: 1048576
# # Maximum number of tables to include in a repair assignment. This reduces the number of repairs,
# # especially in keyspaces with many tables. The splitter avoids batching tables together if they
# # exceed other configuration parameters like bytes_per_assignment or partitions_per_assignment.
# max_tables_per_assignment: 64
Loading