| ID | product.ingestion.mqtt_broker.session_store |
|---|---|
| Description | Persistent client sessions and QoS state. |
| Key | session_store |
| Type | component:database |
| Team | Ingestion |
| Owner | ingestion@iotgateway.example |
| Status | active |
| Technologies | Redis |
| Attributes | retention: session-ttl, store: Redis |
| Tags |
The Session Store keeps the state that makes MQTT sessions persistent: which clients are connected, what they are subscribed to, and which QoS 1/2 messages are still in flight. It is the reason a device can drop off the network and resume exactly where it left off.
Storage profile
Redis, in-memory with disk persistence for crash recovery. Entries are keyed
by client_id and carry a TTL so abandoned sessions expire automatically
instead of leaking memory across the fleet.
The schema captures the session, its subscriptions, any buffered in-flight messages, retained messages per topic, and the last-will message. The ERD is embedded on the Overview tab.
clean_start = false) survive disconnects until
expires_at; clean sessions are discarded the moment the client drops.INFLIGHT_MESSAGE tracks the QoS handshake state so redelivery resumes
correctly after a reconnect.WILL_MESSAGE is published automatically by the
Topic Router
if a client disconnects ungracefully — the platform’s crash signal for a
device.1 outgoing link
| Target object | Label | Link type | Relation | Raw id | Required | Description | |
|---|---|---|---|---|---|---|---|
| persists sessions for | — | links | product.ingestion.mqtt_broker.topic_router | — | — |