4.4.7
- An admin endpoint that reports sink pool lag without scraping the metrics port.
- Retention skipped the newest log segment when the clock moved backwards.
curl -sS https://static.easytrip.club/v1/topics \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "orders", "retention": "72h"}'The partition planner runs on its own goroutine and never blocks the write path, so a slow consumer cannot stall a producer. Duplicate delivery is possible after a crash. Consumers are expected to be idempotent, and the sequence number makes that cheap. Everything the admin API exposes is also reachable through `basalt`, so the same operation is scriptable either way.
The replay worker runs on its own goroutine and never blocks the write path, so a slow consumer cannot stall a producer.
Retention is enforced on read as well as on the background pass, so an expired event never becomes visible again after a restart.
Reads are served from a memory-mapped view of the log segment, so the page cache does the caching and Basalt Field does not duplicate it.
The API is versioned in the path. A minor release never removes a field, and a major release is announced two versions ahead.
Retention is enforced on read as well as on the background pass, so an expired event never becomes visible again after a restart.
Writes land in an append-only log segment; the sink pool compacts them in the background on a fixed interval.
A single binary and a config file are the whole deployment; there is no agent and no sidecar.
Basalt Field treats the on-disk log segment as the source of truth and everything else as a cache that can be rebuilt.
Every event that reaches Basalt Field is assigned a monotonic sequence number as the first thing that happens to it.
Heads up. This is not a replacement for a distributed log. If you need cross-region replication, run something that was designed for it.