@handle_anti_entropy "HandleAntiEntropy"
def put(name, key, value) do
+ Logger.debug("PUT - #{key}: #{inspect(value)}")
:gen_statem.cast(ClusterKV.ring_name(name), {:put, key, value})
end
- def get(name, key) do
- :gen_statem.call(ClusterKV.ring_name(name), {:get, key})
+ def get(name, key, timeout \\ 5000) do
+ Logger.debug("GET - #{key}")
+ :gen_statem.call(ClusterKV.ring_name(name), {:get, key}, timeout)
end
def prefix(name, prefix) do
+ Logger.debug("PREFIX - #{key}")
:gen_statem.call(ClusterKV.ring_name(name), {:prefix, prefix})
end
{:prefix, prefix},
from,
@ready,
- %SL{data: %Ring{name: n, requests: reqs, ring: r} = data} = sl
+ %SL{data: %Ring{name: n, node: me, requests: reqs, ring: r} = data} = sl
) do
nodes = HashRing.nodes(r)
ref = make_ref()
Enum.each(nodes, fn node ->
- send({n, node}, {:get_prefix, prefix, ref, node})
+ Logger.debug("Prefix request to #{inspect(node)}")
+ send({n, node}, {:get_prefix, prefix, ref, me})
end)
{:ok, %SL{sl | data: %Ring{data | requests: [{ref, from, length(nodes), []} | reqs]}}, []}