Skip to content

Two-mempool split (1/2): ingest FIFO queue and endorse before enqueue #350

Description

@Storm1289

Part of #349

Summary

Add a simple FIFO ingest queue as the front of the pipeline and rework processing so:

  • a transaction received by the gateway lands in the ingest FIFO,
  • a pool of workers drains the FIFO, submits the tx to the endorser immediately, and gets the read-write set back,
  • the (transaction, endorsement, read-write set) pair is enqueued into the existing txqueue (now the endorsed queue), which holds the pair rather than just the tx.

From the endorsed queue, transactions are re-processed exactly as in main today: re-endorsed (conflicts may have arisen in the meantime) and then
submitted. No dependency-logic change in this issue.

Scope

  • New ingest FIFO queue buffering between the network and the workers.
  • Rework the worker pipeline: drain FIFO -> endorse -> enqueue the (tx, rwset) pair.
  • Endorsed queue carries the pair; existing re-endorse-then-submit preserved.
  • Keep the endorsed queue behind a clean interface (it will later be replaced by a distributed implementation).

Out of scope

  • Changing how the endorsed queue determines conflicts (sub-issue 2).

Done when

The two queues exist, the pipeline endorses-then-enqueues, behavior is preserved, and tests/CI are green.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    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