You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Andres de la Peña (Jira)" <ji...@apache.org> on 2020/08/26 11:47:00 UTC

[jira] [Commented] (CASSANDRA-15977) 4.0 quality testing: Read Repair

    [ 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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org