Skip to content

Commit

Permalink
roachtest: loss of quorum recovery test
Browse files Browse the repository at this point in the history
Roachtest that exercises end to end functionality of loss of
quorum recovery.
This functionality supplements unit tests that verify different
stages of recovery process and rests on local cluster with more
real world scenario of workload database having its range quorum
broken and then recovered to workable state.
The test itself never fails if recovery is not successful as we don't
expect recovery to succeed in all cases. It is recording the outcome
as a perf metric to track if it is successful over time.

Release note: None

Release justification: Test only code for new functionality on 22.1.
  • Loading branch information
aliher1911 committed May 25, 2022
1 parent 9024015 commit 3f60a83
Show file tree
Hide file tree
Showing 4 changed files with 463 additions and 0 deletions.
3 changes: 3 additions & 0 deletions pkg/cmd/roachtest/option/node_list_option.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ func (n NodeListOption) Merge(o NodeListOption) NodeListOption {
t := make(NodeListOption, 0, len(n)+len(o))
t = append(t, n...)
t = append(t, o...)
if len(t) == 0 {
return t
}
sort.Ints(t)
r := t[:1]
for i := 1; i < len(t); i++ {
Expand Down
1 change: 1 addition & 0 deletions pkg/cmd/roachtest/tests/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ go_library(
"libpq_blocklist.go",
"liquibase.go",
"liquibase_blocklist.go",
"loss_of_quorum_recovery.go",
"many_splits.go",
"mixed_version_decommission.go",
"mixed_version_jobs.go",
Expand Down
Loading

0 comments on commit 3f60a83

Please sign in to comment.