Skip to content

Write acknowledgement after the maintainer frontier (read-your-writes through views) (V14) #320

Closed

Description

@jsam

Part of epic #305.

Problem. Nothing ties a write ack to the state of views; with maintained views an agent could read its own write through a stale frontier.

Target. commit_program returns after maintainer.feed(r) has reached r or a budget (engine.view_ack_budget_ms, default 50 ms) elapsed; the reply carries revision: r and, when the budget was exceeded (rebuild in progress), views_at: f (captain D2; alternative: always asynchronous with views_at). Default queries read at the frontier, at: r waits for f >= r up to the request deadline.

Acceptance. Test: a write acknowledged with r is visible through ?view(K,..) on the same and another connection immediately; during a generation rebuild acks carry views_at and the frontier catches up; B5 unchanged (ack <= 5 ms p50).

Size S. Dependencies V10. Order slot 5.

Scenarios. flips scenario S17 to required (views_at part, burst::s17_write_burst_reads_its_writes; set the view acknowledgement budget to zero there so the rebuild outlasts it). Its expected failure names #320 (#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