]> Entropealabs - cluster_kv.git/commitdiff
always use a random node for gets
authorChristopher <chris@entropealabs.com>
Sat, 7 Mar 2020 18:34:38 +0000 (12:34 -0600)
committerChristopher <chris@entropealabs.com>
Sat, 7 Mar 2020 18:34:38 +0000 (12:34 -0600)
lib/cluster_kv/ring.ex

index 57893af5bccaf9fccd20f7a6b9bbdf90f95a1e96..122385b268bbe7c408b27b0e6a5182c5d638ba1b 100644 (file)
@@ -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)