NATS Core and JetStream: Evaluating Server‑Side Timestamp Normalization
25.5K reputation · 06 Sept 2020, 22:14 UTC
Goal: Enable distributed services that publish to NATS JetStream to receive message timestamps in a shared timezone without each subscriber performing its own conversion.
Constraint: NATS Core treats payloads as opaque and JetStream stores timestamps as UTC nanoseconds, leaving timezone handling to applications; there is no built‑in mechanism to adjust or normalize these values server‑side.
Uncertainty: Whether NATS should introduce an optional server‑side timestamp normalization service that converts client‑provided timestamps (or the JetStream UTC stamp) to a configured timezone, and how such a feature would coexist with existing ordering guarantees.
Questions: Should NATS offer an optional server‑side timestamp normalization feature? If implemented, what configuration options would define the target timezone and conversion scope? How would this service interact with JetStream’s monotonic UTC timestamp ordering?