All workbench projects

Rust · MongoDB

Investigating a Rust change-stream busy loop

A minimal reproduction that turns a difficult runtime failure into an actionable upstream report.

Start with a failure you can explain

This repository isolates a case in the MongoDB Rust driver where polling a change stream after its collection is dropped can enter a busy loop. The reproduction also demonstrates why a runtime watchdog can fail to get scheduled when the task stops yielding.

Reduce the problem, then report it

The investigation narrows the behavior to a small runnable example and traces a regression through the driver’s cursor changes. That makes the failure easier for maintainers to reproduce and evaluate.

The upstream report is RUST-2465. The repository records the tested driver versions and reproduction steps; it is a record of the investigation, rather than a claim about every current driver release.

The work behind reliable systems

Performance and reliability work often begins with evidence: a trace, a repeatable failure, and a hypothesis that survives a smaller test. This is one public example of that process.