SShortSingh.
Back to feed

A single unparseable message silently halted shipment dispatches for 4.5 hours

0
·61 views

A logistics platform lost nearly 4.75 hours of shipment dispatches one Saturday morning after a single malformed message caused a Kafka consumer to loop indefinitely on one partition. The problem began at 4:12 AM but went undetected until a depot called at 9 AM asking about a missing manifest, by which point 9,400 events had backed up. The root cause was an upstream team quietly changing a weight field to accept free text, allowing an operator override value of 'N/A' that the deserialiser could not handle. Rather than skip or quarantine the record, the consumer caught the exception, logged a warning, and retried the same message repeatedly for hours, generating 14,000 identical log lines that no alert monitored. The team subsequently introduced a dead-letter topic for unrecoverable errors, per-partition lag alerting on the oldest uncommitted offset, and a replay tool to reprocess fixed records.

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 ·

Chinese developer seeks legitimate way to keep paying for Claude amid regional access limits

A 22-year-old developer in mainland China says Claude, especially Claude Code, is central to his coding and open-source work, including Minecraft mods. He has worked around networking barriers but still struggles to pay for a subscription because of regional restrictions. He acknowledges Anthropic's compliance and security reasons for those limits and says he is not asking anyone to bypass them. He is looking for developers in supported regions who might know a lawful arrangement, offering to cover costs and share server resources in return, while recognizing the privacy and trust concerns involved. He also invites advice and simply wants to connect with fellow developers.

0
ProgrammingDEV Community ·

How Image File Signatures Like PNG, JPEG, WebP and AVIF Identify Formats

The article argues that a file's actual byte content is more reliable than its extension or declared MIME type for identifying an image format. Every common image container starts with a fixed byte pattern at a known offset, such as FF D8 FF for JPEG or 89 50 4E 47 for PNG. PNG's signature includes CRLF and DOS end-of-file bytes so that text-mode transfers corrupt it visibly. AVIF, HEIC and HEIF share the same ISO base media container and are told apart only by the brand code at offset 8. The piece also shows a short JavaScript check that identifies common formats from the first twelve decoded bytes, while noting that a signature confirms only the container type, not that the file is complete.

0
ProgrammingDEV Community ·

Checklist for Hardening AI Agents Before 2027 Launches

This one-page template helps teams define an AI agent project before building begins. It asks them to describe the task in a sentence, name business and technical owners plus a week-one reviewer, and classify each action by risk level. It also calls for listing data sources and sensitive fields, documenting where the agent runs, and recording baseline metrics with saved test cases. Finally, it requires a clear pause threshold, someone authorized to pause, and a date for the first review.

0
ProgrammingDEV Community ·

A Personal AI Agent Built as a Folder of Markdown Files

A developer describes a personal AI agent that consists simply of a folder of Markdown files worked on by a coding agent, with no dedicated app or server. The system handles tasks such as workout planning, nutrition and protein tracking, spending logs against a budget, and voice-input journaling. The folder is organized into daily records, a Luhmann-style knowledge wiki with source links, a profile about the owner, and per-person files to avoid transcription errors with names. Additional modules such as fitness, writing and gaming are added as needed, and the folder can be opened directly in Obsidian for reading.