Skip to content

Submit experiment feedback and span patches eagerly - #132

Closed
Stephen Belanger (Qard) wants to merge 1 commit into
refactor/eager-experiment-eventsfrom
refactor/eager-experiment-patches
Closed

Stephen Belanger (Qard) wants to merge 1 commit into
refactor/eager-experiment-eventsfrom
refactor/eager-experiment-patches

Conversation

@Qard

Copy link
Copy Markdown
Contributor

Experiment feedback and span updates previously waited for polling and registration before entering the delivery queue. Make log_feedback and update_span submit their merge writes immediately and return Completion tokens that resolve after full batch delivery. Accepted patches remain covered by flush/shutdown even if their tokens are never observed.

Events and patches share one private admission helper: reserve response capacity first, then admit the write with either a cached destination or deferred registration. Rejection leaves no registration or write obligation behind. IDs and payloads are owned when the public call returns; patches remain independent of the finished state of live span handles.

Stacked on #131. Experiment reads/builders/summaries, traced callbacks, and client span updates remain subsequent layers.

Validation: 330 unit/integration tests and 9 doctests passed, with existing ignored tests unchanged. Strict all-target/all-feature Clippy, rustdoc, formatting, and diff checks passed. Consumer regressions cover unobserved owned patches through shutdown before task polling, exact merge fields, a failed registration batch followed by successful fresh retry, patches to a finished span, both admission limits without extra work, and timeout while registration is pending.

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