forked from cockroachdb/cockroach
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kvserver: add rac2 send queue functional test
Introduce `TestFlowControlSendQueue`, which exercises: 1. Send queue formation via send token exhaustion 2. Send queue force-flushing via a node disconnect 3. Send queue formation prevention via a testing knob to skip wait-for-eval More specifically, the test has the following structure: ```sql -- Start with three voters on [n1,n2,n3], where n1 is the leader+leaseholder. -- Large regular write -16 MiB. -- Allow admission [n1,n2]. -- - Tokens should be returned for n1 and n2. -- Block admission [n2]. -- Regular write -1 MiB. -- - Shouldn't be blocked on wait-for-eval because of quorum [n1,n2]. -- - Metrics should reflect send queue formation on n3. -- Stop n2. -- Regular write -1 MiB. -- - Blocks on wait-for-eval, however the test bypasses this instance. -- - Metrics should reflect n3 being force flushed. -- Allow admission [n1,n2,n3]. -- Start n2. -- Add n4, n5, the voters now are [n1,n2,n3,n4,n5]. -- Block admission [n4,n5] (already blocked) -- Regular write -16 MiB. -- Regular write -1 MiB. -- - Shouldn't be blocked on wait-for-eval because of quorum [n1,n2,n3] -- - Metrics should reflect send queue formation on n4,n5. -- Unblock admission [n4,n5]. -- - Wait for tokens to be returned. -- Block admission [n2,n3,n4,n5]. -- Regular write -16 MiB. -- Regular write -1 MiB. -- - Blocks on wait-for-eval, however the test bypasses this instance. -- - Metrics should reflect 2 streams being prevented from forming a send queue. -- Allow admission [n1,n2,n3,n4,n5] (all). -- Assert all tokens returned. ``` Part of: cockroachdb#132614 Release note: None
- Loading branch information
Showing
9 changed files
with
1,159 additions
and
31 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.