-
Notifications
You must be signed in to change notification settings - Fork 4.1k
storage: ExportRequest poorly leveraged to clean up abandoned intents #59704
Copy link
Copy link
Closed
Labels
A-disaster-recoveryA-kv-transactionsRelating to MVCC and the transactional model.Relating to MVCC and the transactional model.A-storageRelating to our storage engine (Pebble) on-disk storage.Relating to our storage engine (Pebble) on-disk storage.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-kvKV TeamKV Teamdocs-donedocs-known-limitation
Description
Currently, an ExportRequest will take an extremely long time to resolve a collection of abandoned intents. This can make it look like the ExportRequest is stuck somewhere in KV. The reason for this (or at least part of it) is that ExportMVCCToSst currently only returns a single intent if it returns a WriteIntentError. This is different than a request like ScanRequest, which will collect a set of intents in a WriteIntentError, which allows higher levels to process all of them at once.
We should improve ExportRequest to collect multiple intents in a single WriteIntentError.
We should also write a test that exercises the path where an ExportRequest needs to clean up millions of abandoned intents.
gz#7529
Epic: CRDB-2554
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-disaster-recoveryA-kv-transactionsRelating to MVCC and the transactional model.Relating to MVCC and the transactional model.A-storageRelating to our storage engine (Pebble) on-disk storage.Relating to our storage engine (Pebble) on-disk storage.C-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)T-kvKV TeamKV Teamdocs-donedocs-known-limitation