From 9bda89ec3bdf9ff903678ff6016c30ee243b54bc Mon Sep 17 00:00:00 2001 From: Christopher Date: Fri, 6 Mar 2020 21:19:28 -0600 Subject: [PATCH] pass correct node to prefix lookups --- lib/cluster_kv/ring.ex | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/cluster_kv/ring.ex b/lib/cluster_kv/ring.ex index 160281c..bb73e56 100644 --- a/lib/cluster_kv/ring.ex +++ b/lib/cluster_kv/ring.ex @@ -45,14 +45,17 @@ defmodule ClusterKV.Ring do @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 @@ -119,13 +122,14 @@ defmodule ClusterKV.Ring do {: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]}}, []} -- 2.45.3