Skip to content

at: <revision> reads with a retention window (V13) #316

Closed

Description

@jsam

Part of epic #305.

Problem. A subscriber at revision s cannot ask a query at s; views drift to different revisions and an unchanged refresh advances silently (src/protocol/subscription/reevaluate.rs:150; views/publish.rs:28-39), so an agent cannot join its subscription with an ad-hoc read consistently (report Section 1.2).

Target. execute accepts at (validated like expect_revision: issued, same stream_epoch, not compacted); the query imports arrangements with frontier [at]; the maintainer compacts traces to max(oldest live subscriber revision, frontier - window) with engine.view_history = 60s | 10000 revisions (config); a compacted revision answers revision_compacted; expect_revision unchanged and consistent with at.

Acceptance. Test: subscribe at s, at: s read equals the snapshot; after n writes at: r_n equals snapshot + deltas; reads at compacted revisions fail with the new code and never return wrong rows; EN-15 groups (#265) read all members at one revision through at.

Size M. Dependencies V9. Order slot 4.

Scenarios. flips scenario S4 to required (at reads and revision_compacted, consistency::s4_subscription_and_query_agree_at_a_revision; give the engine a one-revision retention window there). Its expected failures name #316 (#337).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions