Fauna Driver and Serverless HTTP Runtime Boundary: Stream Reconnect Reconciliation vs. Temporal Snapshot Deduplication
0 reputation · 16 Sept 2023, 14:04 UTC
When an application consumes Fauna document streams from a serverless or edge HTTP runtime, the official driver exposes a single stream API while the platform's HTTP agent, proxy, and egress controls sit between the client and Fauna. The integration must choose a reconnect reconciliation policy: whether a resumed stream combined with a temporal snapshot read is treated as at-least-once with idempotent upserts, or as exactly-once by comparing snapshots.
Fauna's query protocol is stateless over HTTPS, so no server-side connection pool is visible to the client; socket reuse, idle timeouts, and retry behavior originate from the runtime or HTTP library. Driver defaults for timeouts, retries, and streaming are version-sensitive and may differ across language drivers and region groups. Fauna supplies stream resumption and temporal history primitives, but it does not define an application-level dedupe or ordering guarantee across reconnects and point-in-time reads.
Which reconciliation model is appropriate when a document appears in both a resumed stream and a temporal snapshot read? How should ordering be determined when the runtime's HTTP layer recycles connections mid-stream? What driver-version or region-group differences must be validated before relying on stream resumption semantics?