Blob Blame History Raw
From: Peter Lemenkov <lemenkov@gmail.com>
Date: Wed, 17 Aug 2016 15:51:15 +0300
Subject: [PATCH] Fix deprecation warning while building with Erlang 19

The following functions are considered deprecated:

- crypto:rand_bytes/1
- random:seed/1
- random:uniform/1

Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>

diff --git a/src/riak_ensemble_config.erl b/src/riak_ensemble_config.erl
index 7d4aa3d..a24a08a 100644
--- a/src/riak_ensemble_config.erl
+++ b/src/riak_ensemble_config.erl
@@ -51,7 +51,7 @@ follower_timeout() ->
 %% The election timeout used for randomized election.
 election_timeout() ->
     Timeout = follower_timeout(),
-    Timeout + random:uniform(Timeout).
+    Timeout + rand:uniform(Timeout).
 
 %% @doc
 %% The prefollow timeout determines how long a peer waits to hear from the
diff --git a/src/riak_ensemble_peer.erl b/src/riak_ensemble_peer.erl
index 5166413..54906a0 100644
--- a/src/riak_ensemble_peer.erl
+++ b/src/riak_ensemble_peer.erl
@@ -1818,9 +1818,9 @@ get_value(Obj, Default, State) ->
 init([Mod, Ensemble, Id, Args]) ->
     lager:debug("~p: starting peer", [Id]),
     {A,B,C} = os:timestamp(),
-    _ = random:seed(A + erlang:phash2(Id),
+    _ = rand:seed(exsplus, {A + erlang:phash2(Id),
                     B + erlang:phash2(node()),
-                    C),
+                    C}),
     ETS = ets:new(x, [public, {read_concurrency, true}, {write_concurrency, true}]),
     TreeTrust = case riak_ensemble_config:tree_validation() of
                     false ->
diff --git a/src/riak_ensemble_util.erl b/src/riak_ensemble_util.erl
index e2e5abd..17204ed 100644
--- a/src/riak_ensemble_util.erl
+++ b/src/riak_ensemble_util.erl
@@ -148,7 +148,7 @@ shuffle(L=[_]) ->
     L;
 shuffle(L) ->
     Range = length(L),
-    L2 = [{random:uniform(Range), E} || E <- L],
+    L2 = [{rand:uniform(Range), E} || E <- L],
     [E || {_, E} <- lists:sort(L2)].
 
 %% Copied from riak_core_send_msg.erl