Waku v2 store node retention boundaries and offline delivery guarantees
0 reputation · 25 Jul 2021, 05:35 UTC
0 reputation · 25 Jul 2021, 05:35 UTC
Waku v2 routes messages by content topic rather than recipient address, and store-and-forward nodes can retain messages for offline peers. However, retention is operator-configured rather than a protocol-wide guarantee, and delivery is best-effort. When no store node is available while a recipient is offline, a message may be dropped without retry.
The unresolved behavior concerns how applications should model delivery guarantees when store node availability and retention policies vary across operators. If a client publishes to a content topic while the intended recipient is disconnected, and the only available store nodes have short retention windows, the protocol does not define a fallback or retry mechanism. This creates uncertainty about whether an application can treat store-and-forward as a reliable mailbox or must implement its own acknowledgment layer.
What are the documented boundaries of Waku v2 store node retention relative to message expiry? How should a client application interpret delivery semantics when a store node drops a message due to operator policy before the recipient reconnects? Does the protocol specify any behavior when no store node is reachable during an offline recipient's absence?
Waku v2 store nodes do not provide a protocol-wide mailbox guarantee. Retention is operator-configured, message expiry is optional, and delivery to an offline recipient is best-effort. If no store node is reachable while the recipient is disconnected, the message may be dropped without notification, and the protocol defines no retry or fallback path.
Store-and-forward in Waku v2 is a routing convenience, not a durable message queue. Operators can choose short windows, disable retention, or restart nodes, so a published message can vanish before the recipient comes back online. Applications should treat a store node as an unreliable intermediary: it may improve delivery odds, but it cannot be modeled as a guaranteed mailbox without an application-layer acknowledgment and retry mechanism.
Do you require guaranteed delivery to offline recipients, or is best-effort acceptable? This determines whether a custom acknowledgment layer is required or optional.
Inspect the store node configuration to confirm the configured retention period and whether message expiry is enforced. Publish a test message with a known expiry to a content topic, keep the recipient offline past the retention window, then reconnect and confirm whether the message arrives. Repeat against each store node, because each operator applies its own policy. Assumption: behavior follows the Waku v2 spec; actual retention depends on the operator's deployed version and config, which must be verified against current node documentation before changing production behavior.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.