[
https://issues.apache.org/jira/browse/CASSANDRA-15977?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17185123#comment-17185123
]
Andres de la Peña commented on CASSANDRA-15977:
-----------------------------------------------
The changes proposed in the PR are:
* Remove duplicated read repair tests from {{SimpleReadWriteTest}}
({{readRepairTest}} and {{failingReadRepairTest}}), and move
{{readRepairTimeoutTest}} to {{ReadRepairTest}}.
* Port Python dtests in {{read_repair_test.py:TestReadRepairGuarantees}} to
in-JVM {{ReadRepairGuaranteesTest}}, using Byte Buddy to drop internal messages.
* Port Python dtest
{{read_repair_test.py:TestReadRepair.test_alter_rf_and_run_read_repair}} to
in-JVM {{ReadRepairTest#alterRFAndRunReadRepair}}.
* Add {{ReadRepairQueryTypesTest}} in-JVM test class, which contains tests
similar to {{test_alter_rf_and_run_read_repair}} for different query types and
schemas. The tests verify that each type of query propagates writes, checking
how only the selected columns are propagated. The tests are parameterized by
read repair strategy, usage of paging, whether the outdated node is the
coordinator, and whether the data is in-memory or on-disk. There are 34 tests
and 16 parameter configurations, so it produces 544 test runs, which take
around 7 minutes locally.
* Port Python dtest
{{read_repair_test.py:TestReadRepair.test_range_slice_query_with_tombstones}}
to in-JVM {{ReadRepairTest#testRangeSliceQueryWithTombstones}}, extended with
some additional types of tombstone and parameterized for in-memory/on-disk data.
* Port Python dtest
{{read_repair_test.py:TestReadRepair.test_gcable_tombstone_resurrection_on_range_slice_query}}
to in-JVM {{ReadRepairTest#testGCableTombstoneResurrectionOnRangeSliceQuery}},
extended with some additional types of tombstone.
* Port Python dtest {{consistency_test.py:TestConsistency.test_readrepair}} to
in-JVM {{ReadRepairTest#readRepairLongTest}}. This test is very similar to
{{ReadRepairTest#readRepairTest}}, so I'm not sure we need it.
* Extend the coverage of {{ReadRepairTest#emptyRangeTombstones}} and
{{ReadRepairTest#emptyRangeTombstonesFromPaging}} with a new test class named
{{ReadRepairEmptyRangeTombstonesTest}}. The new class tests different overlaps
of range queries and tombstone ranges and partition deletions, and it is
parameterized by read repair strategy, usage of paging, whether the outdated
node is the coordinator, whether the rows are in the same node as the
tombstones, and whether the clustering order is reversed. There are 14 tests
and 16 parameter configurations, so it produces 224 test runs, which take
around 1.5 minutes locally.
* Extend {{MixedModeReadRepairTest}} with new basic tests to verify the
propagation of insertions, updates and deletions between the upgraded and the
not-upgraded node, in both directions.
> 4.0 quality testing: Read Repair
> --------------------------------
>
> Key: CASSANDRA-15977
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15977
> Project: Cassandra
> Issue Type: Task
> Components: Test/dtest, Test/unit
> Reporter: Andres de la Peña
> Assignee: Andres de la Peña
> Priority: Normal
> Fix For: 4.0-beta
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> This is a subtask of CASSANDRA-15579 focusing on read repair.
> [This
> document|https://docs.google.com/document/d/1-gldHcdLSMRbDhhI8ahs_tPeAZsjurjXr38xABVjWHE/edit?usp=sharing]
> lists and describes the existing functional tests for read repair, so we can
> have a broad view of what is currently covered. We can comment on this
> document and add ideas for new cases/tests, so it can gradually evolve to a
> more or less detailed test plan.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]