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.06k stars 3.8k forks source link

kvflowcontrol: re-enable kvadmission.flow_control.mode metamorphic testing constant #132364

Open kvoli opened 2 weeks ago

kvoli commented 2 weeks ago

In order to unblock merging additional test coverage, and RACv2 pull mode (default disabled) as part of https://github.com/cockroachdb/cockroach/pull/132125 -- the metamorphic constant that controls whether replication admission control (RAC) applies to all work, or just elastic work, was removed.

https://github.com/cockroachdb/cockroach/blob/48aa04c81b50ae49e6e12994f47151d7793bea12/pkg/kv/kvserver/kvflowcontrol/kvflowcontrol.go#L37-L47

When apply_to_all is set, pull mode is enabled, however the default variable value is apply_to_elastic -- which enables push mode (default from inception 23.1 -> now). Pull mode is less hardened and therefore more likely to cause related, but wide reaching test failures -- therefore removing the ability for apply_to_all to be set inside tests, unless explicit, reduces cleanup blast radius (triage).

This issue is to re-enable the metamorphism after apply_to_all has been stabilized.

Jira issue: CRDB-42996

Epic CRDB-37515

kvoli commented 1 day ago

This shouldn't block the GA, as the metamorphic constant only pertains to disabled by default functionality in 24.3.