Skip to content

Introduces independent lock storage and vqueue scheduler resource manager#4563

Draft
AhmedSoliman wants to merge 9 commits intomainfrom
pr4563
Draft

Introduces independent lock storage and vqueue scheduler resource manager#4563
AhmedSoliman wants to merge 9 commits intomainfrom
pr4563

Conversation

Introduces InternedReString, a wrapper around ReString that deduplicates
long strings via a per-thread HashSet. Strings longer than size_of::<String>()
are stored as Arc<str> and looked up on construction and during deserialization
(serde and bilrost), so repeated values share a single heap allocation.

Short strings are stored inline and bypass the interner entirely.

The bilrost decode path is optimized with a fast path for contiguous buffers:
when chunk() covers the full string, we read directly as &str and query the
interner without allocating a temporary buffer.
A macro utility for efficiently formatting a restring which may optimize out the heap allocation if the string can be inlined (<= 24 bytes)
ServiceName uses the new `InternedReString` for thread-local checked interning when it makes sense.

LockName will be used for representing the new service locking mechanism for vqueues that will be introduced in the next commit(s).
- Allows key prefixes and (get) operations no partition store to be encoded without the extra clone into the builder (via the new builder_ref() type).
- Allows table key designers to use Option<T> by implementing their own KeyEncode trait with their own semantic of what "None" means.
parent: VQueueParent::from_raw(1),
instance: VQueueInstance::from_raw(1),
}
VQueueId::new(
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that all those cosmetic changes in VQueues are redundant and will be replaced in PR that introduces the new VQueueID

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 5, 2026

Test Results

  8 files  ±0    8 suites  ±0   5m 3s ⏱️ + 1m 20s
 53 tests ±0   48 ✅  -  5  0 💤 ±0  1 ❌ +1   4 🔥 + 4 
233 runs  ±0  215 ✅  - 18  0 💤 ±0  1 ❌ +1  17 🔥 +17 

For more details on these failures and errors, see this check.

Results for commit f2280de. ± Comparison against base commit 6725361.

♻️ This comment has been updated with latest results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant