Skip to content

[RelayMiner] Enable backing up in-memory session-trees to disk #1734

@Olshansk

Description

@Olshansk

Objective

  1. Ensure Session Rollovers do not reduce overall network performance.
  2. Guarantee that the solution to ☝️ does not reduce RelayMiner rewards.
  3. Based on the implementation in feat: Add in-memory SMT storage option for RelayMiner #1730, enable performant RelayMiners that can also back up session trees to disk.

Origin Document

Image

Goals

  • Maintain the session rollover fix by preventing RelayMiner IOPS usage from blocking relays.
  • Provide an "in-memory" mode that minimizes state loss on restart.
  • Ensure disk-backed session trees are performant and do not bottleneck the relay path.
  • Validate that RelayMiner rewards remain unaffected after these changes.

Deliverables

  • Design and implement a solution that satisfies all goals above.
    • Periodic writing?
    • Process preemption with different priorities?
    • Other?
  • Ensure an E2E test for session rollovers is included in CI.
  • Search for and remove all TODO(#1734) markers in the codebase.
  • Provide documentation for operators on when to use in-memory vs. disk-backed mode.
  • Optional: Add benchmarks to measure relay throughput during session rollovers (with and without disk backup).

Non-goals / Non-deliverables

  • Exploring alternative mechanisms for reducing heavy IOPS usage in RelayMiner (can be a follow-on ticket).
  • Researching or adopting other KV store engines beyond those currently supported.

Creator: @Olshansk
Co-Owners: @bryanchriswhite @red-0ne @jorgecuesta

Metadata

Metadata

Assignees

No one assigned

    Labels

    relayminerChanges related to the Relayminer

    Type

    Projects

    Status

    🔖 Ready

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions