Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. Data Pipelines That Fail Loudly Instead of Quietly
Data & Scraping

Data Pipelines That Fail Loudly Instead of Quietly

Why most pipeline problems are discovered weeks late, and the monitoring design that catches them the same day.

Updated 2 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

The dangerous pipeline failure is not the one that crashes — it is the one that completes successfully with wrong or missing data. Monitor row counts, field completeness, value distributions and freshness, not just job status, and alert when they move outside expected bounds.

Green does not mean correct

Most pipeline monitoring reports whether the job ran. That catches crashes, which are the easy failures. It misses the expensive ones: a source that changed format so a field now parses as null, a filter that silently excludes half the records, a join that duplicates rows.

Those failures produce a green tick and wrong numbers, and they are typically discovered when someone questions a report weeks later — by which time decisions have been made on bad data.

Four checks that catch most of it

  1. Row count against expectation. If yesterday brought 40,000 records and today brings 400 or 400,000, something changed. Alert on deviation from a rolling band, not on zero.
  2. Field completeness. Track the null rate per important column. A jump from 2% to 60% is a format change, and it is invisible in a job-status dashboard.
  3. Value distribution. Prices suddenly ten times higher usually means a currency or units change, not a market event.
  4. Freshness. When was the newest record created? Stale data that keeps loading is a common and silent failure.

Keep the raw data

Store the source response before transformation, cheaply and durably. When you discover a parsing error three weeks later, this is what lets you reprocess history instead of losing it.

Object storage for raw payloads costs very little and has rescued more projects than any other single practice we apply. The one time you need it, it saves weeks.

Make failures partial, not total

One malformed record should not stop the run. Route bad records to a quarantine table with the error and the original payload, process everything else, and report the quarantine count.

Then actually look at the quarantine. A growing pile nobody reviews is the same as silent failure with extra steps — so put the count on the same alert as everything else.

Make it idempotent and re-runnable

You will need to re-run a day. Design so that running the same input twice produces the same result rather than duplicates — natural keys, upserts, or a run identifier you can delete cleanly.

  • Every record traceable to the run that produced it
  • Re-running a date range replaces rather than appends
  • Backfilling a fix is a normal operation, not an incident
  • Schema changes are versioned so old data remains readable

Alert on what needs a human

Every alert should be actionable. If nobody would do anything at 9am on receiving it, it should be a dashboard line, not an alert. Teams that alert on everything stop reading alerts within a fortnight.

A reasonable split: page for freshness and total failure, email for distribution anomalies and quarantine growth, dashboard for everything else.

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

How much does monitoring add to a pipeline project?

Typically 20–30% of the build. It is the first thing cut under time pressure and the thing whose absence costs the most later, since undetected bad data can invalidate months of reporting.

Do we need a specialist orchestration tool?

For a handful of jobs, scheduled scripts with good logging are fine. Orchestration earns its complexity when you have dependencies between jobs, backfills to manage and many sources — usually beyond ten or so pipelines.

What is a reasonable data freshness target?

Whatever the decisions being made require, which is usually less aggressive than people first say. Daily is sufficient for most reporting; real-time costs considerably more and should be justified by a decision that genuinely cannot wait.

How do we handle a source that changes format regularly?

Version the parser, keep raw payloads, and alert on completeness so changes are caught within a day. For frequently-changing sources, budget maintenance explicitly rather than treating each change as an unexpected incident.

Keep reading

More on Data & Scraping

Start here

Not sure whether your data is right?

If nobody can say when a pipeline last failed silently, that is worth fixing before the next board pack. We can review what you have.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →