-
Notifications
You must be signed in to change notification settings - Fork 3.8k
CEP-37 on Trunk #3598
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
CEP-37 on Trunk #3598
Changes from all commits
Commits
Show all changes
260 commits
Select commit
Hold shift + click to select a range
7b7d160
config description
jaydeepkumar1984 a908bb1
Implement repair retries for auto-repair scheduler
kzalys c7eceb9
Extend nodetool sstablerepairedset to affect all keyspaces when no ke…
kzalys 95e6605
Make repair session timeout configurable
jaydeepkumar1984 203b35c
Comments from Joshua M
jaydeepkumar1984 7b4a96d
AutoRepair scheduler InJvm dtest
jaydeepkumar1984 b261be0
Increase CircleCI parallelism 1-->4
jaydeepkumar1984 89a1199
Fix a test case failure org.apache.cassandra.schema.SchemaKeyspaceTes…
jaydeepkumar1984 c886358
Trigger automatic CircleCI jobs
jaydeepkumar1984 0f4d41f
CircleCI ask for a manual approval
jaydeepkumar1984 8272926
Fix the JMXStandardsTest::interfaces
kzalys a1dbabb
Circle AutoStart J8 tests
jaydeep1984 fb988da
Allow IR to run with MVs and CDC if write path replay is disabled
kzalys c701b80
Add a nodetool command to get the nodes going through repair
kzalys 713c84a
Adjust a couple of default configuration values
jaydeepkumar1984 a3bae80
Rename EMPTY --> NONE for Nodetool autorepairstatus command
jaydeepkumar1984 36667f2
Minor code refactoring to simplify the repair API by removing the SLE…
jaydeepkumar1984 8d65b2d
Adjust AutoRepair on 5.0
jaydeepkumar1984 55b706c
Fix unit test cases DescribeStatementTest & SchemaCQLHelperTest
jaydeepkumar1984 36442de
Safeguard the setup call to ensure it it done only once
jaydeepkumar1984 33d6e49
Fix InJvm test AutoRepairSchedulerTest
jaydeepkumar1984 42f32c0
Unit test failures AutoRepairTest.java
jaydeepkumar1984 233640f
5.0 formatting
jaydeepkumar1984 7c48984
Fix flaky AutoRepairTest::testSetup and AutoRepairTest::testSafeGuard…
jaydeepkumar1984 87190c4
Fix a test failure inside pylib/cqlshlib/test/test_cqlsh_output.py
kzalys a21c016
AutoRepair nodetool throws an exception if the framework is disabled
jaydeepkumar1984 fda44af
Run repair on bootstrapped if configured to do so
jaydeepkumar1984 d26b24f
Fix broken AutoRepairSchedulerTest.java & AutoRepairStatusTest.java
jaydeepkumar1984 43c0f99
Comments from Chris Lohfink: nix automated_ and a typo
jaydeepkumar1984 69267a4
Comments from Chris Lohfink: System::currentTimeMillis --> Clock.Glob…
jaydeepkumar1984 6fd372e
Update IAutoRepairTokenRangeSplitter API to be more flexible
tolbertam 2ccdc37
Fix a corner-case bug NPE org.apache.cassandra.repair.autorepair.Auto…
jaydeepkumar1984 d35fb4b
Update documentation for the newly added metric
jaydeepkumar1984 01a68e5
Fix the failed StorageServiceServerTest test cases
jaydeepkumar1984 9c901e0
Formatting: Add a new line towards the end SystemDistributedKeyspace.…
jaydeepkumar1984 490ac25
Formatting: Add a new line towards the end IAutoRepairTokenRangeSplit…
jaydeepkumar1984 ad9ef82
Formatting: YamlConfigurationLoader.java & CassandraStreamReceiver.java
jaydeepkumar1984 be0377b
Revert .circleci/config.yaml settings
jaydeepkumar1984 e1724de
Code formatting: Remove Group from naming
jaydeepkumar1984 c3f7c68
Enable repair scheduler through nodetool
jaydeepkumar1984 fdaed59
Increment system_distributed GENERATION
jaydeepkumar1984 e2031a4
Option to disable write path during streaming for MV enabled tables; …
jaydeepkumar1984 5c27c93
cr from tolbertam - replace MV/CDC repair replay JVM properties to ya…
jaydeepkumar1984 096b898
ant checkstyle: toLowerCase-->toLowerCaseLocalized
jaydeepkumar1984 d98cfa1
code formatting: DatabaseDescriptor.java
jaydeepkumar1984 c9142fa
Rename AutoRepair --> UnifiedRepair
jaydeepkumar1984 510ce5f
Revert "Rename AutoRepair --> UnifiedRepair"
jaydeep1984 6e88789
Implement preview repaired metrics
kzalys 5683acd
Improve preview repair metrics
kzalys 62a3526
Update src/java/org/apache/cassandra/repair/autorepair/AutoRepairConf…
kzalys 6b89ff0
Address comments
kzalys f21377a
Fix preview repair options for system_schema ks
kzalys f61c798
Implement BytesPreviewed and TokenRangesPreviewed metrics
kzalys a560d48
Update test/unit/org/apache/cassandra/repair/autorepair/AutoRepairPar…
kzalys 03d0410
Address comments
kzalys 35fb100
Update metrics docs
kzalys f444067
Update metrics
kzalys 2cca086
UnrepairedBytesBasedTokenRangeSplitter prototype
tolbertam 51eb7fc
Add Repair range splitter
clohfink 807d6ed
add assignment priorirty to table options
clohfink 2b70565
reorder with DefaultAutoRepairTokenSplitter
clohfink c53d550
add tests for partition count estimation
clohfink 2a70b23
Add license header to RepairRangeSplitter
tolbertam 8868074
Simplify access of repair_type_overrides, key by String
tolbertam 6d47310
Allow partial repair of range, factor in total bytes for IR
tolbertam 61e7a3d
update warnings based on repair type
clohfink 3947795
Move size comparison up so priority can be factored in
tolbertam faed922
Various cleanup
tolbertam a2cb72d
Handle EmpySSTableScanner being returned from getScanner
tolbertam 5ee5e66
Minor refactoring around bytesPerSubrange, logging
tolbertam 4f35fe2
Cleanup logging of repair assignments
tolbertam 56c686c
Remove UnrepairedBytesBasedTokenRangeSplitter
tolbertam 053d3ac
Refactor RepairRangeSplitter interface to accept all keyspaces
tolbertam 25ca077
Naming consistency
tolbertam 4592e8d
Use memtable size for memtable only
tolbertam 22f8bdb
Fix dtest
tolbertam 317d318
Refactor IAutoRepairTokenRangeSplitter to be Iterator based
tolbertam 0e1b290
Add more priority and range splitter tests
tolbertam 671a653
Refactor a missed change during the rebase
jaydeepkumar1984 32c701a
Set thread name based on RepairType.getConfigName()
tolbertam 589c021
Flatten the auto_repair table property
jaydeepkumar1984 48ab043
Fix ant checkstyle errors
jaydeepkumar1984 4cc3fa2
Ignore keyspaces with MetaStrategy
jaydeepkumar1984 6d5d648
Adjust BigTableScanner.getScanner as per 5.1 API set
jaydeep1984 f18b983
Fix antcheckstyle
jaydeepkumar1984 0036bff
Fix ant test-latest failures for RepairRangeSplitterTest-latest_jdk17…
jaydeepkumar1984 32ae5ea
utest: calculate expected tables dynamically instead of a fixed value
tolbertam 939c962
Ignore repair for system_traces keyspace
jaydeepkumar1984 48d3ee6
CR from Andy T
jaydeepkumar1984 f68838c
Fix diff40
jaydeepkumar1984 3ce847a
Fix diff41
jaydeepkumar1984 7e58066
Convert the metrics to TableMeter
jaydeepkumar1984 8d53dbd
Add a global type=ColumnFamily
jaydeep1984 a2fa469
Remove an extra empty line
jaydeep1984 b4040e5
Revert the cassandra-4.x.xml changes
jaydeepkumar1984 3d59a7a
gauge compatible meter
tolbertam 54fa247
Implement minimum repair task duration setting for auto-repair scheduler
kzalys 8d8ed47
Cleanup
kzalys 18171b3
Cleanup
kzalys 7915e55
Address comment
kzalys b60f6ce
Remove unused imports
jaydeepkumar1984 97f764a
formatting
jaydeepkumar1984 c5b8768
Make RepairTokenRangeSplitter the default implementation
tolbertam 94df667
JDK 8 support and test rename
tolbertam 43bf6e3
Fix newAutoRepairTokenRangeSplitter duplication
tolbertam 318a69e
Nit-fixing in existing code
tolbertam 2a9aae0
Process feedback
tolbertam c30f5cf
Fix the the total expected sub-ranges calculation keeping v-nodes in …
jaydeepkumar1984 b3462b2
Feedback and update tests
tolbertam b3620f1
Remove unused import in RepairTokenRangeSplitterTest.java
jaydeepkumar1984 9b03111
Add configuration to cassandra.yaml and cassandra_later.yaml
jaydeepkumar1984 7a3c36e
Add a doc for AutoRepair feature
jaydeepkumar1984 b5ddfa8
cr from Andy
jaydeepkumar1984 0da1c04
address cr from Andy
jaydeepkumar1984 6d124c6
partitions_per_assignment to not use repair_session_max_tree_depth
tolbertam f8eb10f
Fix inconsistent spacing in javadoc
tolbertam 9a13bd8
Make AutoRepair's repair_by_keyspace default to true instead of false
tolbertam b938185
AutoRepairServiceMBean should not use custom types for JMX methods
frankgh 6a6d51d
Address comments
frankgh f51f29b
Fix tests and rename autoRepairConfiguration -> getAutoRepairConfigur…
frankgh 7f1b4a2
Adjust based on the latest trunk
jaydeepkumar1984 5686864
Remove commented code; use TokenRingUtils.getPrimaryRangesForEndpoint…
jaydeepkumar1984 1442b58
Update RepairTokenRangeSplitter to work with BTI-formatted SSTables
tolbertam 8c46cd5
Avoid possible division by zero
tolbertam 3bbf35f
Test with Bti and Big format sstables
tolbertam c32e612
Assert correct format selected
tolbertam 4b2380d
Fix review comments from Andy
jaydeepkumar1984 e98bb69
Fix review comments from Jaydeepkumar
jaydeepkumar1984 f225ad6
Fix review comments from Andy
jaydeepkumar1984 2e9cea6
Additional review comments from Jaydeepkumar
jaydeepkumar1984 65df16d
Additional review comments from Andy
jaydeepkumar1984 b9e11a1
Additional review comments from Jaydeepkumar
jaydeepkumar1984 9a73fc5
Incorporate NEWS.txt review comment
jaydeepkumar1984 efa146e
A new table property should be wrapped inside a config
jaydeepkumar1984 cf291f8
Skip displaying the table property if AutoRepair is disabled
jaydeepkumar1984 c41c7d6
Fix broken tests
jaydeepkumar1984 ef0d0ad
Extend DescribeStatementTest to cover properties when AutoRepair sche…
jaydeepkumar1984 4f2af32
Fix race condition in auto-repair scheduler
kzalys 75f4471
Address comments
kzalys 3f6b987
Address comments
kzalys 90f40b3
Fix formatting
kzalys 2ba3cdd
Account for vnodes with repair_by_keyspace in RepairTokenRangeSplitter
tolbertam 88a75d8
Make work with JDK11 (and JDK8)
tolbertam 6af203c
Adjust as per latest trunk as of 03-Mar-2025
jaydeepkumar1984 4366f83
Type & Remove whitespace
jaydeepkumar1984 4315623
Ensure the main config obj has been initialized before checking the y…
jaydeepkumar1984 0857a9f
Use the last repair stat to confirm that the repair ran indeed instea…
jaydeepkumar1984 63a9aac
Incorporate the code review comments
jaydeepkumar1984 56d6ce0
Incorporate the code review comments
jaydeepkumar1984 66bfb3a
Group all public statements together
jaydeepkumar1984 ef5b838
No need for try/catch in the test case
jaydeepkumar1984 855bfbe
Avoid micros splitting of token ranges for FixedSplitTokenRangeSplitter
jaydeepkumar1984 bc55345
Make the number_of_subranges parameterized in test case
jaydeepkumar1984 a6e432b
Review comments from Andy
jaydeepkumar1984 fcb05ee
Add v-nodes and non v-nodes test cases
jaydeepkumar1984 418a87a
Adjust the comment
jaydeepkumar1984 cc00a4e
Add the missing nodetool way to update repair_by_keyspace
jaydeepkumar1984 bf43c97
Use common setup code for FixedSplitTokenRangeSplitterTest*.java
jaydeepkumar1984 b373f26
Fix FixedSplitTokenRangeSplitterHelper.java failure
jaydeepkumar1984 0f8c890
Address review comments: update comment/remove dead code
jaydeepkumar1984 952bb2f
Adjust comment for DEFAULT_NUMBER_OF_SUBRANGES and NUMBER_OF_SUBRANGES
jaydeepkumar1984 bb944f0
Auto Repair Documentation improvements, bytes_per_assignment to 50GiB
tolbertam f876899
Revert tombstones.adoc no op changes.
tolbertam 9658c03
Add documentation for reject_repair_compaction_threshold
tolbertam 76d6018
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
tolbertam bc0ee37
Update conf/cassandra.yaml
tolbertam 5799849
Update conf/cassandra.yaml
tolbertam 0991fa5
Update conf/cassandra.yaml
tolbertam 85f09ca
Update conf/cassandra.yaml
tolbertam ccdc23d
Doc and conf fixes, initial IR enablement guidance
tolbertam 3cd0c85
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
tolbertam f6ef769
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
tolbertam f6399d3
Update num_of_subranges
tolbertam a1fc228
Move auto-repair retry policy config to repair-type level
kzalys 703427e
Update docs
kzalys 4f0a40c
Avoid returning MY_TURN when replicas are actively taking their turn
tolbertam 5197fdc
Add toString to AutoRepairConfig.java
jaydeepkumar1984 a775b50
Create AutoRepair executors only if enabled and a few other nits
jaydeepkumar1984 17e0d9a
parens in next line
jaydeepkumar1984 85a0473
Adjust based on the latest trunk
jaydeepkumar1984 cd42a84
Remove commented code; use TokenRingUtils.getPrimaryRangesForEndpoint…
jaydeepkumar1984 cf57ad6
Update RepairTokenRangeSplitter to work with BTI-formatted SSTables
tolbertam 8deeaea
Avoid possible division by zero
tolbertam 1d16ab1
Test with Bti and Big format sstables
tolbertam 6108532
Assert correct format selected
tolbertam 2d48bfd
Fix review comments from Andy
jaydeepkumar1984 5436ffb
Fix review comments from Jaydeepkumar
jaydeepkumar1984 2c96a67
Fix review comments from Andy
jaydeepkumar1984 a292b04
Additional review comments from Jaydeepkumar
jaydeepkumar1984 c4f4063
Additional review comments from Andy
jaydeepkumar1984 2290b21
Additional review comments from Jaydeepkumar
jaydeepkumar1984 908c9c1
Incorporate NEWS.txt review comment
jaydeepkumar1984 c76349b
A new table property should be wrapped inside a config
jaydeepkumar1984 cce1faf
Skip displaying the table property if AutoRepair is disabled
jaydeepkumar1984 934892d
Fix broken tests
jaydeepkumar1984 e0b2c69
Extend DescribeStatementTest to cover properties when AutoRepair sche…
jaydeepkumar1984 6cd5019
Fix race condition in auto-repair scheduler
kzalys f6dbf1c
Address comments
kzalys d2aaf40
Address comments
kzalys d30e50e
Fix formatting
kzalys 58cdd1c
Account for vnodes with repair_by_keyspace in RepairTokenRangeSplitter
tolbertam 0161f3a
Make work with JDK11 (and JDK8)
tolbertam 603b77f
Adjust as per latest trunk as of 03-Mar-2025
jaydeepkumar1984 4dd1532
Type & Remove whitespace
jaydeepkumar1984 e6846ae
Ensure the main config obj has been initialized before checking the y…
jaydeepkumar1984 7a3475f
Use the last repair stat to confirm that the repair ran indeed instea…
jaydeepkumar1984 0b759a8
Incorporate the code review comments
jaydeepkumar1984 a929963
Incorporate the code review comments
jaydeepkumar1984 5ca4502
Group all public statements together
jaydeepkumar1984 8081ef3
No need for try/catch in the test case
jaydeepkumar1984 5b7ab53
Avoid micros splitting of token ranges for FixedSplitTokenRangeSplitter
jaydeepkumar1984 2f71ca4
Make the number_of_subranges parameterized in test case
jaydeepkumar1984 e09dd0d
Review comments from Andy
jaydeepkumar1984 c56204f
Add v-nodes and non v-nodes test cases
jaydeepkumar1984 b6f760c
Adjust the comment
jaydeepkumar1984 913e503
Add the missing nodetool way to update repair_by_keyspace
jaydeepkumar1984 a4d1bf3
Use common setup code for FixedSplitTokenRangeSplitterTest*.java
jaydeepkumar1984 a6bf366
Fix FixedSplitTokenRangeSplitterHelper.java failure
jaydeepkumar1984 785aba9
Address review comments: update comment/remove dead code
jaydeepkumar1984 75b45f0
Adjust comment for DEFAULT_NUMBER_OF_SUBRANGES and NUMBER_OF_SUBRANGES
jaydeepkumar1984 c9b4065
Auto Repair Documentation improvements, bytes_per_assignment to 50GiB
tolbertam 9acc02c
Revert tombstones.adoc no op changes.
tolbertam 91ba32c
Add documentation for reject_repair_compaction_threshold
tolbertam aa383be
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
tolbertam 51b05c4
Update conf/cassandra.yaml
tolbertam 775fd7b
Update conf/cassandra.yaml
tolbertam f08b2ca
Update conf/cassandra.yaml
tolbertam 3ada7be
Update conf/cassandra.yaml
tolbertam 706b390
Doc and conf fixes, initial IR enablement guidance
tolbertam b809c4a
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
tolbertam 5c58c2e
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
tolbertam 45edb04
Update num_of_subranges
tolbertam 317dfbb
Move auto-repair retry policy config to repair-type level
kzalys 1af049a
Update docs
kzalys c56f326
Avoid returning MY_TURN when replicas are actively taking their turn
tolbertam f7c862d
Add toString to AutoRepairConfig.java
jaydeepkumar1984 d6b7a46
Create AutoRepair executors only if enabled and a few other nits
jaydeepkumar1984 729b0d3
parens in next line
jaydeepkumar1984 beb8b61
Adjust based on the latest trunk
jaydeepkumar1984 89b4ab6
Merge branch 'trunk_cep_37_rebase_on_apr_17_2025' into trunk_cep_37
jaydeepkumar1984 ab6fe8e
Merge branch 'trunk' into trunk_cep_37
jaydeepkumar1984 9e9c035
Update doc/modules/cassandra/pages/managing/operating/metrics.adoc
jaydeepkumar1984 eff68db
Update src/java/org/apache/cassandra/repair/autorepair/RepairTokenRan…
jaydeepkumar1984 44a1694
Update src/java/org/apache/cassandra/schema/AutoRepairParams.java
jaydeepkumar1984 a957d90
Update src/java/org/apache/cassandra/schema/AutoRepairParams.java
jaydeepkumar1984 0abf12a
Update src/java/org/apache/cassandra/schema/AutoRepairParams.java
jaydeepkumar1984 5f4a938
Validate disk headroom for IR and a couple of comment updates
jaydeepkumar1984 ab6c770
Format { on the new line
jaydeepkumar1984 6649d27
Merge pull request #63 from jaydeepkumar1984/trunk_cep_37_cassandra_2…
jaydeepkumar1984 34bf406
Update doc/modules/cassandra/pages/managing/operating/metrics.adoc
jaydeepkumar1984 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think like
reject_repair_compaction_threshold, we should default this to not do anything as to not change the behavior (should not reject repairs by default, users should have to opt into it). Was thinking and I realized that there can be a possible downside of this feature, which is if you disable IR while you are low on disk, you might not be able to compact away shadowed data or tombstones because data exists in both the repaired/unrepaired set and can't be compacted together.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just adding another comment here in case this was missed. I think it may be reasonable to keep this default behavior, but we should just make note of this somewhere in the NEWS entry or upgrade guide.