Skip to content
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

WIP - do not review or commit! Fix RequestFailureReason reason codes according to Apache and avoid f… #1457

Draft
wants to merge 1,159 commits into
base: main-5.0
Choose a base branch
from

Conversation

ekaterinadimitrova2
Copy link

…uture conflicts

by assigning new codes to higher numbers

What is the issue

...

What does this PR fix and why was it fixed

...

Checklist before you submit for review

  • 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

djatnieks and others added 30 commits July 31, 2024 18:50
Change ReplicaPlan to replace AbstractReplicaPlan.blockFor with AbstractForRead.readQuorum in alignment with Apache 5.0.
…ories to first be called, as does GuardrailsOptions.validateDataDiskUsageMaxDiskSize.

Update SnapshotLoader to store File instead of Path.
Fixes log check in python dtest materialized_views_test.test_drop_with_stopped_build.
Note that most of this commit is already in apache/cassandra-5.0, but it was added after we started the rebase. It is adjusted for CC
…and freezeNestedMultiCellTypes as they were unused
Auto-freeze nested types of frozen types with a log message
…thods

The AbstractType.toString() is now final and it calls toString(ignoreFreezing=false).
OTOH toString(ignoreFreezing) is the method the other classes should override (which is applied in this commit). This makes more sense as toString() is now consistent.

For VectorType - inlined TypeParser.stringifyVectorParameters because vector type parameter is always a primitive (actually it can only be a number type) so ignore freezing flag makes no sense
Common validations were moved to AbstractType.validateForColumn and therefore we could remove the repeated code from few places
Loosen validation of a newly created UDT - we just check that it does not contain counter columns.
Add some validation when reading columns from SchemaKeyspace.
Perform more keyspace validations when a keyspace is created or altered.
djatnieks and others added 20 commits October 23, 2024 14:10
…x NPE in CNDB mocked tests;

Part of STAR-1314 Use more CFS getters for CNDB mocked test
* Allow SortedLocalRanges to be empty

* Fix SortedLocalRanges.testNoRanges
#1392)

correctly decode TTLs after 2037 in SortedStringTableCursor
Split all the tests extending AbstractQueryTester so they are less prone to timeouts and better for CI parallelization. 
Each test class is split into a class per data model, and each class is still parameterized by index version. 
Also, move these tests and their utilities into their own package, and rename the two versions of AbstractQueryTester to SingleNodeQueryTester and MultiNodeQueryTester.
…1395)

Increase the timeout for waiting on the index creation. We are indexing
more vectors than usual, so the default one-minute timeout might not be
enough.
#1397)

The rejection of terms depends on CassandraRelevantProperties.VALIDATE_MAX_TERM_SIZE_AT_COORDINATOR.
The test should check both the enabled and disabled scenarios.
Use UCS with a single shard, increase index build timeout and improve assertions
…est (#1413)

`CQLUnifiedCompactionTest.testMultipleCompactionsDifferentWs` needs
max_sstables_to_compact increased to pass.
…ain-5.0 (#1412)

It is not natural to have SAI iterator classes in `utils` package,
furthermore, Apache Cassandra has them in a separate package
`iterators`. Also ASF C* has consistent naming for iterator classes.
Similar to SAI listing classes.

Closes riptano/cndb#11563

This PR does similar changes as #1400:
- Moves SAI iterator classes from `utils` package to new package
`iterators`
- Renames SAI iterator classes to be consistent and equivalent to ASF C*
for the same classes.
- Removes `AbstractIterator` replaces its usages with
`AbstractGuavaIterator` from the general `utils` package. This is in
accordance with ASF C*.
- Renames and moves SAI postings classes from `utils` package to new
package `postings`, which is in accordance with ASF C*.

This will help with rebasing CC on ASF C* 5.0.
…SANDRA-13043 (#1406)

Restores the filter from CASSANDRA-13043 for nodes that are rpc_ready
… created but otherwise not used; STAR-1353 changes allow realm to be null and in that case VerifyController creation fails because AbstractCompactionController requires realm to be non-null. Add @nullable annotation to realm instance variable to highlight the value may be null.
HCD-18 add option to ignore DC name validation

Added a new system property "cassandra.dc_skip_name_validation",
which is used to bypass "ConfigurationException: Unrecognized strategy
option {group20} passed to NetworkTopologyStrategy" messages when
creating/altering replication strategy to a DC that doesn't exist

In cassandra versions <4 and DSE 5.1 there was less strict validation
when adding a datacenter. The nodes could be added first, or the
keyspace replication schema could be changed to include the new DC
first.

With CASSANDRA-12681, validation was added to check that a DC exists
before letting it be used in the replication strategy.

We have customers (Netapp) that have existing automation tooling for
adding datacenters that require this additional validation to be
optionally disabled.
@ekaterinadimitrova2 ekaterinadimitrova2 marked this pull request as draft December 5, 2024 23:42
@ekaterinadimitrova2 ekaterinadimitrova2 self-assigned this Dec 5, 2024
…uture conflicts

by assigning new codes to higher numbers
@ekaterinadimitrova2 ekaterinadimitrova2 marked this pull request as ready for review December 6, 2024 20:47
@ekaterinadimitrova2 ekaterinadimitrova2 marked this pull request as draft December 6, 2024 20:50
Copy link

sonarqubecloud bot commented Dec 6, 2024

Please retry analysis of this Pull-Request directly on SonarQube Cloud

@cassci-bot
Copy link

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


1 new test failure(s) in 3 builds
See build details here


Found 1 new test failures

Test Explanation Branch history Upstream history
o.a.c.d.t.r.ForceRepairTest.force regression 🔴🔵

No known test failures found

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.