Skip to content

[Bifrost][Minor] Improves logging and reporting of status on append failures#4458

Open
AhmedSoliman wants to merge 3 commits intomainfrom
pr4458
Open

[Bifrost][Minor] Improves logging and reporting of status on append failures#4458
AhmedSoliman wants to merge 3 commits intomainfrom
pr4458

Conversation

@github-actions
Copy link

github-actions bot commented Mar 4, 2026

Test Results

  7 files    7 suites   4m 40s ⏱️
 49 tests  49 ✅ 0 💤 0 ❌
210 runs  210 ✅ 0 💤 0 ❌

Results for commit dffbf6c.

♻️ This comment has been updated with latest results.

@AhmedSoliman AhmedSoliman marked this pull request as ready for review March 5, 2026 09:08
@AhmedSoliman AhmedSoliman requested a review from muhamadazmy March 5, 2026 09:08
Extract two generic, reusable utilities into restate-futures-util:

**monotonic_token**: A lightweight mechanism for a producer to signal
completion of a prefix of sequentially issued work items. Provides
Token<T>, TokenOwner<T>, Tokens<T>, and TokenListener<T> types with
a phantom type parameter to prevent mixing tokens from different domains.
Uses atomics (Relaxed/Release/Acquire) for lock-free operation — no
RwLock or watch overhead.

**waiter_queue**: A priority-drainable queue (WaiterQueue<K, V>) designed
for the common case where entries arrive in key-order. Uses an adaptive
strategy: push_back for in-order inserts (O(1)), binary-search insert for
out-of-order (rare). Drain is always a simple front-pop. Includes a
Criterion benchmark comparing four strategies (naive, compact,
adaptive, sorted-insert).

Both modules include comprehensive documentation and tests. Neither
references any specific use-case — they are general-purpose building
blocks.
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.

2 participants