You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
155953: kvserver: simplify rewriteRaftState r=arulajmani a=pav-kv
Keys in the RangeID-local unreplicated space have both state machine and raft state. With separated engines, these will reside in different engines, and are also interleaved in an unfortunate way. So we can't use one `ClearRawRange` to cover them all, or even one per engine.
This PR clears all unreplicated keys in `rewriteRaftState` manually, so that we can control which goes to which engine/`Writer`. Additionally, this uncovers that half of these keys don't need to be cleared at all because they don't exist, or don't need to be changed.
The end effect of the PR is that `rewriteRaftState` now only mutates the raft engine state, which is very convenient. Incidentally, this function finally lives up to its name.
Part of #152845
Epic: CRDB-55220
159067: util/ioctx: add RandomAccessReader for cloud storage r=sravotto a=sravotto
Add a general-purpose wrapper that provides ReadAt/Seek support for any cloud storage reader using an opener factory function pattern.
This enables random access (required by formats like Parquet) without requiring the cloud storage implementation itself to natively support ReadAt/Seek. Instead, it opens new readers at specific offsets for each ReadAt call.
Key features:
- Thread-safe ReadAt: Each call opens a new connection, allowing concurrent reads from different offsets
- Seek support: Tracks position logically without seeking underlying readers
- Generic: Works with any ReadCloserCtx via OpenerAtFunc factory
Release note: None
Epic: CRDB-23802
Co-authored-by: Pavel Kalinnikov <[email protected]>
Co-authored-by: Silvano Ravotto <[email protected]>
0 commit comments