SShortSingh.
Back to feed

RocketMQ-Rust Carries One Deadline Through Each Request to Clarify Timeout Outcomes

0
·5 views

An independent Rust implementation of RocketMQ, examined at commit ed1c961 in a November 9, 2026 snapshot, shows how timeouts can be interpreted precisely. Its transport code carries a single absolute deadline through each request rather than granting every stage a fresh timeout. Timeouts are classified by stage: a rejection before the write starts, a write failure or timeout, or a response timeout where the Broker-side outcome may be unknown. Because a Broker may store a message before a producer times out, retries can create duplicate deliveries, so applications should use stable business event identities and deduplication rather than relying on transport identifiers. The article also notes that a deadline limits caller waiting, while admission control governs how much work the transport retains. The project is not an official Apache Software Foundation release.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Pingsold ranks startups by verified analytics, but few founders have connected their data

The creator built Pingsold, a startup directory where rankings are based on each startup's read-only analytics, synced daily, rather than self-reported figures. So far only 2 of 8 listed startups have verified their traffic, and both belong to the creator. Six founders signed up and created listing pages but never connected their analytics, which keeps them off the leaderboard. The creator suspects that asking founders to link analytics for a new site feels like a trust barrier, even with read-only access. The creator is asking readers whether they would connect analytics and whether a verified traffic badge would be useful, and plans to report results in a month.

0
ProgrammingDEV Community ·

Developer ties README template count to CI tests after finding 8 templates shipped, not 50

A developer discovered that the README of their SQL playground repository claimed 50+ query templates while only 8 had actually been shipped. Instead of writing the missing templates immediately, they made the claim enforceable by running the shared template library through a parametrized pytest suite. The tests check that each query executes against a deterministic DuckDB sample database, returns rows, and that the total template count stays at or above 50. The library now contains 55 templates grouped by teaching topic, and DuckDB was chosen because it supports SQL features SQLite lacks. The author recommends turning one public number into a test so that documentation and code cannot drift apart.

0
ProgrammingDEV Community ·

Near-duplicate images can inflate machine learning test scores, study and tool show

A test score can overstate a model's real performance if test images are near-copies of training images, since the model has effectively already seen them. A roughly 50-line Python script can detect most such copies by shrinking each image to a small grey thumbnail and comparing thumbnails by similarity. Researchers found that 3.3% of CIFAR-10 test images and 10% of CIFAR-100 test images have duplicates in the training set. Replacing those images with new ones lowered accuracy of popular models by 9 to 14 percent relative to the original results. Common sources of such overlap include repeated shots of the same subject, frames from one video, resaved or resized copies, and merged folders, which random file-name splits cannot catch. The authors recommend reviewing every flagged pair manually and splitting data by part or photo session rather than by individual file.

0
ProgrammingDEV Community ·

Repeated 'Unpatched' Alerts Were Stale; Monitoring Split Into Two Tiers

An automated cloud routine that tracked security releases for PHP and other software kept sending urgent alerts claiming a production server was unpatched for 16 days. When the author checked the server directly, the PHP update had actually been applied two days after its release, because the cloud tool could not see what was installed locally. The author then divided the monitoring into two tiers: a cloud collector for release announcements and a local checker that queries each server's package manager for the real installed state. Using the package manager as the single source of truth for patch status eliminated the false alarms. The author also set rules such as never executing commands taken from summaries and limiting automatic patching to OS security updates.