···22 use Hobbes.Construct.SimServer
3344 alias Hobbes.MetaStore
55- alias Hobbes.Structs.{Cluster, Server, CommitBatch, CommitTxn, LogBatch}
55+ alias Hobbes.Structs.{Cluster, Server, ResolveBatch, CommitTxn, LogBatch}
6677 alias Hobbes.Servers.{Sequencer, Resolver, TLog}
88···149149 } | acc]
150150 end)
151151152152- batch = %CommitBatch{
152152+ batch = %ResolveBatch{
153153 commit_buffer_id: state.id,
154154 commit_version: commit_version,
155155 prev_commit_version: prev_commit_version,
+7-7
lib/servers/resolver.ex
···11defmodule Hobbes.Servers.Resolver do
22 use Hobbes.Construct.SimServer
3344- alias Hobbes.Structs.{Cluster, CommitBatch}
44+ alias Hobbes.Structs.{Cluster, ResolveBatch}
55 alias Hobbes.VersionMap
6677 alias Hobbes.Utils
···3636 Meta log is a list of batches of mutations applied by other
3737 CommitBuffers since the last request from this CommitBuffer.
3838 """
3939- @spec resolve_batch(pid, %CommitBatch{}) :: {[boolean], [{non_neg_integer, [Utils.mutation]}]}
4040- def resolve_batch(server, %CommitBatch{} = batch) do
3939+ @spec resolve_batch(pid, %ResolveBatch{}) :: {[boolean], [{non_neg_integer, [Utils.mutation]}]}
4040+ def resolve_batch(server, %ResolveBatch{} = batch) do
4141 SimServer.call(server, {:resolve_batch, batch})
4242 end
4343···5959 {:reply, :ok, %State{state | cluster: cluster}}
6060 end
61616262- def handle_call({:resolve_batch, %CommitBatch{} = batch}, from, state) do
6262+ def handle_call({:resolve_batch, %ResolveBatch{} = batch}, from, state) do
6363 state = %State{state | buffer: Map.put_new(state.buffer, batch.prev_commit_version, {from, batch})}
6464 {:noreply, maybe_resolve_next(state)}
6565 end
···72727373 defp maybe_resolve_next(%State{} = state) do
7474 case Map.pop(state.buffer, state.version) do
7575- {{from, %CommitBatch{} = batch}, buffer} ->
7575+ {{from, %ResolveBatch{} = batch}, buffer} ->
7676 state = %State{state | buffer: buffer}
77777878 do_resolve_batch(batch, from, state)
···8282 end
8383 end
84848585- defp do_resolve_batch(%CommitBatch{} = batch, from, %State{} = state) do
8585+ defp do_resolve_batch(%ResolveBatch{} = batch, from, %State{} = state) do
8686 vm = state.version_map
8787 commit_version = batch.commit_version
8888···124124 end)
125125126126 # Note: we intentionally reply with results reversed because it's
127127- # better to reverse them on the CommitBuffer as it's less of a bottleneck
127127+ # more efficient on CommitBuffer
128128 SimServer.reply(from, {results, reply_meta_mutations})
129129130130 %State{state |