Symptom

DataPoint snapshots accumulated in /srv/krill/data/records/<node-id>/ indefinitely. A Pi running for a year carried a year of hour-bucket files per DataPoint, even when the UI was only ever showing “Last hour” — and range queries paid for that disk footprint on every read.

Root cause

The SDK already declared DataPointMetaData.maxAge: Long = 0 with the comment “Maximum age (epoch millis) of stored snapshots — 0 means keep forever”, but no read path or background job ever consumed it.

Fix

Wire maxAge end-to-end in this repo, without touching the SDK:

Prevention