Bedrock.DataPlane.CommitProxy.Finalization.FinalizationPlan (bedrock v0.5.3)

View Source

Pipeline state for transaction finalization using unified transaction storage for maximum efficiency and clarity.

Summary

Types

t()

@type t() :: %Bedrock.DataPlane.CommitProxy.Finalization.FinalizationPlan{
  aborted_count: non_neg_integer(),
  commit_version: Bedrock.version(),
  error: term() | nil,
  last_commit_version: Bedrock.version(),
  log_map: %{required(non_neg_integer()) => Bedrock.DataPlane.Log.id()},
  log_services: %{
    required(Bedrock.DataPlane.Log.id()) => {atom(), node()} | pid()
  },
  metadata_updates: [Bedrock.DataPlane.Resolver.MetadataAccumulator.entry()],
  replication_factor: pos_integer(),
  replied_indices: MapSet.t(non_neg_integer()),
  shard_table: :ets.table(),
  stage: atom(),
  transaction_count: non_neg_integer(),
  transactions: %{
    required(non_neg_integer()) =>
      {non_neg_integer(), Bedrock.DataPlane.CommitProxy.Batch.reply_fn(),
       Bedrock.DataPlane.Transaction.encoded(), Task.t() | nil}
  },
  transactions_by_log: %{
    required(Bedrock.DataPlane.Log.id()) =>
      Bedrock.DataPlane.Transaction.encoded()
  }
}