Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Frank Chu’s best code-review comment was a reproducible demonstration that his retry helper exceeded its intended time budget. The correction stung at first, he says, but the test made the defect clear—and he left the correction visible so readers who had copied the original code could see it.
What the reader tested
In his September 19, 2026 DEV Community essay, Chu describes a reader who made the retry helper’s behavior observable by stubbing the clock and removing jitter. Those changes made the runs deterministic. The timings below are outcomes reported in Chu’s essay; they have not been independently reproduced here.
As an Amazon Associate I earn from qualifying purchases.
- With a 45-second budget and
Retry-After: 120, the helper ran for 120 seconds and made two attempts. - With a 2-second budget and no
Retry-Afterheader, it ran for 3 seconds.
Chu traced the overrun to a check that happened before sleeping but did not compare the proposed wait with the time remaining. The helper could therefore sleep past its budget and recognize the excess only on a later loop iteration. As Chu put it, “A wall-clock cap that can only detect an overrun after the overrun is not a cap.” Read Chu’s essay on DEV Community.
Why the correction mattered beyond one timing bug
The wait must fit inside the remaining budget
A deadline check before a wait is not enough if the wait itself can carry execution past that deadline. The comment focused attention on the behavior that mattered to a caller: not simply whether the helper eventually noticed the budget, but whether it could avoid exceeding it in the first place.
#1 Best Overall
A server-provided delay is not necessarily the whole backoff policy
According to Chu’s account, the comment also flagged e.retry_after or wait: when a server header was present, that expression discarded the helper’s calculated backoff. Whether a server-provided delay should replace, constrain, or otherwise interact with a client’s backoff is a policy decision; the important point in this example is that the code’s behavior should be deliberate rather than an accidental consequence of a fallback expression.
Retry-After can be a date, not just a number
HTTP semantics allow two forms. RFC 9110 section 10.2.3 says, “The Retry-After field value can be either an HTTP-date or a number of seconds to delay after receiving the response.” A parser that accepts only a number of seconds does not handle the full field syntax. The RFC describes the field as guidance for a follow-up request, including expected unavailability after a 503 response and a minimum wait before a redirected request after a 3xx response. RFC 9110, section 10.2.3.
Rank #2
Retries can multiply across layers
The commenter also raised a less visible source of extra calls: an application’s retry loop may call a client library or SDK that retries each call itself. The total number of requests can therefore exceed what the outer loop’s attempt count suggests. Chu’s essay does not identify the SDK or its version, so it does not establish the exact retry configuration involved.
As one separate, current example, the official OpenAI Python SDK documentation says certain errors are retried twice by default and that this can be configured with max_retries. Its repository implementation parses Retry-After as either a delay or a date and applies its own retry logic. This illustrates why the SDK’s version and configuration matter; it is not evidence that Chu used that SDK. OpenAI Python SDK retries documentation and SDK retry implementation.
Rank #3
What makes this kind of feedback useful
The force of the comment came from a runnable reproduction, not merely a claim that the code looked wrong. A stubbed clock and deterministic jitter removed timing variability, while the chosen cases made the mismatch between the stated budget and observed runtime easy to see. That gave the author a concrete behavior to investigate and correct.
Chu says he updated the post and kept a visible correction so people who had already encountered or copied the original code could find the change. The point is not that every public correction will arrive as a polished test case; it is that a specific, repeatable demonstration can reveal behavior that inspection alone missed.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Questions to ask when reviewing retry behavior
- Does the deadline account for the next proposed wait, not only the time already spent?
- How are server-provided delays handled, and does the parser accept both forms allowed by HTTP?
- How many attempts can each layer make, including the SDK or HTTP client?
- Do timeout, backoff, and jitter rules fit the application’s total wall-clock deadline?
- Can the request safely be sent again if an earlier attempt may have reached the server?
The appropriate answers depend on the application and the specific client or SDK. The useful first step is to trace the actual policy across layers rather than infer it from one loop or a default that may change between versions.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minuteQuick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




