From: Christopher Date: Sun, 8 Mar 2020 05:44:26 +0000 (-0600) Subject: difference, not intersection... X-Git-Url: http://git.entropealabs.com/?a=commitdiff_plain;h=eb861ccd41d0839da815ef853eba326f177dab14;p=cluster_kv.git difference, not intersection... --- diff --git a/lib/cluster_kv/ring.ex b/lib/cluster_kv/ring.ex index d66db48..b4b5157 100644 --- a/lib/cluster_kv/ring.ex +++ b/lib/cluster_kv/ring.ex @@ -361,7 +361,7 @@ defmodule ClusterKV.Ring do |> Enum.reduce(%{}, fn {k, v}, acc -> old_nodes = HashRing.key_to_nodes(old_ring, k, repls) |> MapSet.new() new_nodes = HashRing.key_to_nodes(new_ring, k, repls) |> MapSet.new() - nodes = MapSet.intersection(new_nodes, old_nodes) |> MapSet.to_list() + nodes = MapSet.difference(new_nodes, old_nodes) |> MapSet.to_list() Enum.reduce(nodes, acc, fn n, a -> Map.update(a, n, [], &[{k, v} | &1])