Skip to content
Apkar

Market data · 60 employees

Kestrel

A nightly six-hour extraction that used to fail on deploy now checkpoints per batch and resumes where it stopped.

18/30 → 30/30

Nightly completion

11

Deploys inside the window

14

Upstream sources

per batch

Checkpoint interval

The challenge

Kestrel's nightly extraction pulled from fourteen upstream sources and took about six hours. Any deploy during the window killed it, and the retry started from zero. In one month it completed on eighteen nights out of thirty.

What they built

The job was rewritten as a run with a checkpoint after every batch rather than every source. Rate-limited calls retry on policy without failing the run, and the offset commit moved to before the batch is marked complete so a crash costs a duplicate attempt rather than a lost one.

The result

Completion went to thirty nights out of thirty across the following two months, including eleven nights with a deploy inside the window. Nobody changed the deploy schedule.

We stopped scheduling deploys around a batch job. That is the whole result.
Dana OkonkwoHead of PlatformKestrel