Skip to content

Cassandra-backed RememberEntitiesStore #84

@pathosDev

Description

@pathosDev

`RememberEntitiesStore` (#49) ships with InMemory + DurableState-backed implementations. For deployments using Cassandra as their journal, having a Cassandra-backed RememberEntities is the natural complement — keeps all sharding-related persistence in one place, no extra backend dependency.

Scope:

  • New file `src/cluster/sharding/CassandraRememberEntitiesStore.ts`.
  • Schema: `(type_name, shard_id, entity_id) → started_at`.
  • Implements the `RememberEntitiesStore` interface (likely already abstract in Persistent Remember-Entities for Cluster Sharding #49's work).
  • Uses the existing Cassandra client / lazy-loading pattern.
  • Plugin registration helper `registerCassandraRememberEntitiesPlugin(...)` matching the existing journal-plugin shape.

Tests:

  • Round-trip via the fake CQL client (mirroring CassandraJournal's test pattern).
  • Multi-node test: nodes restart, RememberEntities recovers the entity list from Cassandra.

Estimate: 2-3 days.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions