cockroachdb / cockroach

CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement.
https://www.cockroachlabs.com
Other
30.22k stars 3.82k forks source link

kvserver: add e2e rac2 send queue functionality tests #132614

Open kvoli opened 1 month ago

kvoli commented 1 month ago

For https://github.com/cockroachdb/cockroach/issues/128040 we modified the existing TestFlowControl.*V2 e2e integration tests to also have a pull-mode (send queue) variation.

This issue is to add new tests which purposefully exhaust send tokens and assert on the send queue formation, force flushing and token deduction to prevent send queue formation.

Jira issue: CRDB-43177

Epic CRDB-42900

kvoli commented 1 month ago

Removing the GA blocker, I will still backport these tests to v24.3 using a testing change justification.

These pertain to disabled by default behavior in v24.3, hence the removal.

kvoli commented 1 month ago

https://github.com/cockroachdb/cockroach/pull/133757 adds a general test. We should also add tests which force interesting events, similar to the existing TestFlowControl.*V2 tests, but while send tokens are exhausted on one or more streams.

A non-exhaustive (or binding) list of variations to add, in approximate order by usefulness:

See the existing V2 integration test variants, which were used to construct this list:

https://github.com/cockroachdb/cockroach/blob/ef26d1534507f6089aa909e0bd43a0efb71dd6c7/pkg/kv/kvserver/flow_control_integration_test.go#L2303-L2305