Skip to content

Remote comms: Persistent message queue #691

@sirtimid

Description

@sirtimid

Problem: Currently, queued messages are only in memory. If the kernel restarts during reconnection, all queued messages are lost. This can cause message loss for important operations.

Expected Behavior:

  • Persist queued messages to kernel store
  • Load queued messages on initNetwork startup
  • Resume sending queued messages after restart
  • Define message lifecycle policies (TTL, expiry, cleanup)

Implementation:

  • Integrate MessageQueue with kernel store (KVStore or StoredQueue)
  • Persist on enqueue (or batch periodically for performance)
  • Load on initNetwork startup
  • Remove from store on successful dequeue
  • Add message TTL/expiry logic (e.g., drop messages older than X days)
  • Clean up stale messages on startup
  • Consider message ordering and duplicate handling

Acceptance Criteria:

  • Queued messages persist across restarts
  • Messages are loaded and resumed on startup
  • Old/stale messages are cleaned up
  • Performance is acceptable (batching may be needed)
  • Tests verify persistence and recovery

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions