Skip to content

feat: add execution and replay modes to TransactionScheduler #958

@bmuddha

Description

@bmuddha

Problem:
The scheduler currently handles all transactions uniformly. For replication, we need a distinct replay mode that enforces strict ordering based on transaction index from the primary, ignoring any other transactions that might come in.

Proposal:
Add a mode switch to TransactionScheduler (execution vs replay). In replay mode:

  • Enforce strict ordering based on incoming transaction index field
  • Ignore any transaction not marked for replay (log warning)
  • Allow runtime mode switching without restart
  • Execution mode remains unchanged (current behavior)

Acceptance criteria:

  • Scheduler mode enum (Execution/Replay)
  • Runtime mode switch method
  • Replay mode enforces index-based ordering
  • Non-replay transactions rejected with warning in replay mode
  • Execution mode behavior unchanged

Reference: MIMD-0019 Client replay

Parent epic: #935

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions