From: Christopher Date: Sat, 7 Mar 2020 15:19:21 +0000 (-0600) Subject: get values in stream X-Git-Url: http://git.entropealabs.com/?a=commitdiff_plain;h=b88e82bd01288e4a3449821b85ed13e2241804cf;p=cluster_kv.git get values in stream --- diff --git a/lib/cluster_kv/ring.ex b/lib/cluster_kv/ring.ex index 2d44a8a..8c26f8b 100644 --- a/lib/cluster_kv/ring.ex +++ b/lib/cluster_kv/ring.ex @@ -224,6 +224,9 @@ defmodule ClusterKV.Ring do :"$end_of_table" -> false _ -> true end) + |> Stream.map(fn key -> + {key, DB.get(db, key)} + end) end defp sync_db(name, me, db, ring, repls) do @@ -232,7 +235,7 @@ defmodule ClusterKV.Ring do |> do_stream() |> Stream.chunk_every(10) |> Stream.each(fn chunk -> - Enum.each(chunk, fn key -> + Enum.each(chunk, fn {key, v} -> nodes = ring |> HashRing.key_to_nodes(key, repls) @@ -241,7 +244,6 @@ defmodule ClusterKV.Ring do _ -> true end) - v = DB.get(db, key) Logger.debug("Sync: #{key}: #{inspect(v)}") cast_sync(name, nodes, key, v) end)