kvserver: add rangelog writes to a queue #105903
Labels
branch-master
Failures and bugs on the master branch.
C-bug
Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.
T-kv
KV Team
We saw a scatter test with multiple rangelog timeouts in #104709. Bumping the timeout for the rangelog async task in #105898 helps but in the case of a scatter we may end up spawning too many async tasks that end up overwhelming the go scheduler. E.g. running a scatter on 100k ranges can result in 1 million rangelog events in a short amount of time.
Before #102813, writing to rangelog synchronously would act as a backpressure mechanism -- we wouldn't be able to go ahead with further conf changes until we'd flushed the write to the rangelog. Now we don't have that backpressure anymore, so we can pile up a huge backlog of writes.
One potential solution is to add all rangelog writes to a queue and then batch them.
Jira issue: CRDB-29264
The text was updated successfully, but these errors were encountered: