Developer's Timeout Bug Fix Broke API Contract, Blocking Production Release
A developer working on a CoAP handler in Lua discovered that a timeout mechanism had been incorrectly implemented, with the timer starting at the wrong point in the request flow, making the effective timeout slightly longer than the intended five seconds. The fix appeared straightforward since the developer controlled both client- and server-side code, allowing changes to be tested and bundled together before being pushed via a pull request. However, after the fix was merged, sporadic request timeouts began appearing during pre-release testing, blocking the team's production deployment. The root cause was that correcting the timer inadvertently altered the API's de facto behavior, which other parts of the system had unknowingly come to depend on. The incident highlighted how even a technically correct bug fix can violate an implicit API contract if downstream consumers have adapted to the broken behavior.
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