From 129c07f61b22adc2eef2d68512bd49eb2b053a89 Mon Sep 17 00:00:00 2001 From: Christopher Date: Sat, 7 Mar 2020 12:34:38 -0600 Subject: [PATCH] always use a random node for gets --- lib/cluster_kv/ring.ex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/cluster_kv/ring.ex b/lib/cluster_kv/ring.ex index 57893af..122385b 100644 --- a/lib/cluster_kv/ring.ex +++ b/lib/cluster_kv/ring.ex @@ -208,9 +208,9 @@ defmodule ClusterKV.Ring do send({n, node}, {:get_key, prefix, ref, me}) end - defp get_node(key, r, _node, _repls) do - HashRing.key_to_node(r, key) - + defp get_node(key, r, _node, repls) do + nodes = HashRing.key_to_nodes(r, key, repls) + Enum.random(nodes) # case node in nodes do # true -> node # false -> Enum.random(nodes) -- 2.45.3