diff --git a/.github/workflows/linearizability-nightly.yaml b/.github/workflows/linearizability-nightly.yaml index 2179b2feaa0d..c93755595468 100644 --- a/.github/workflows/linearizability-nightly.yaml +++ b/.github/workflows/linearizability-nightly.yaml @@ -10,17 +10,17 @@ jobs: uses: ./.github/workflows/linearizability-template.yaml with: ref: main - count: 300 + count: 200 timeoutDuration: 170m test-35: uses: ./.github/workflows/linearizability-template.yaml with: ref: release-3.5 - count: 300 + count: 200 timeoutDuration: 170m test-34: uses: ./.github/workflows/linearizability-template.yaml with: ref: release-3.4 - count: 300 + count: 200 timeoutDuration: 170m diff --git a/.github/workflows/linearizability.yaml b/.github/workflows/linearizability.yaml index d3cc8a1a9d71..80ecffd903b8 100644 --- a/.github/workflows/linearizability.yaml +++ b/.github/workflows/linearizability.yaml @@ -6,5 +6,5 @@ jobs: uses: ./.github/workflows/linearizability-template.yaml with: ref: ${{ github.ref }} - count: 60 + count: 40 testTimeout: 30m diff --git a/tests/linearizability/linearizability_test.go b/tests/linearizability/linearizability_test.go index bf1e1fef5650..2538cdaf8cb4 100644 --- a/tests/linearizability/linearizability_test.go +++ b/tests/linearizability/linearizability_test.go @@ -35,9 +35,9 @@ import ( const ( // minimalQPS is used to validate if enough traffic is send to make tests accurate. - minimalQPS = 100.0 + minimalQPS = 200.0 // maximalQPS limits number of requests send to etcd to avoid linearizability analysis taking too long. - maximalQPS = 200.0 + maximalQPS = 1000.0 // waitBetweenFailpointTriggers waitBetweenFailpointTriggers = time.Second ) @@ -54,6 +54,7 @@ func TestLinearizability(t *testing.T) { failpoint: RandomFailpoint, config: *e2e.NewConfig( e2e.WithClusterSize(1), + e2e.WithSnapshotCount(100), e2e.WithPeerProxy(true), e2e.WithGoFailEnabled(true), e2e.WithCompactionBatchLimit(100), // required for compactBeforeCommitBatch and compactAfterCommitBatch failpoints @@ -63,6 +64,7 @@ func TestLinearizability(t *testing.T) { name: "ClusterOfSize3", failpoint: RandomFailpoint, config: *e2e.NewConfig( + e2e.WithSnapshotCount(100), e2e.WithPeerProxy(true), e2e.WithGoFailEnabled(true), e2e.WithCompactionBatchLimit(100), // required for compactBeforeCommitBatch and compactAfterCommitBatch failpoints @@ -84,6 +86,13 @@ func TestLinearizability(t *testing.T) { e2e.WithGoFailEnabled(true), ), }, + { + name: "Issue13766", + failpoint: KillFailpoint, + config: *e2e.NewConfig( + e2e.WithSnapshotCount(100), + ), + }, } for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { @@ -101,7 +110,7 @@ func TestLinearizability(t *testing.T) { }, trafficConfig{ minimalQPS: minimalQPS, maximalQPS: maximalQPS, - clientCount: 8, + clientCount: 12, traffic: DefaultTraffic, }) longestHistory, remainingEvents := pickLongestHistory(events)