From 628ca7e2fec369ac4622842d78630027f527e529 Mon Sep 17 00:00:00 2001 From: ILYA Khlopotov Date: Tue, 27 Jun 2017 09:18:44 -0700 Subject: [PATCH 1/2] Allow keep_sending_changes to use hot code upgrade --- src/couch/src/couch_changes.erl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/couch/src/couch_changes.erl b/src/couch/src/couch_changes.erl index 835251d50f..11d0d8d4cd 100644 --- a/src/couch/src/couch_changes.erl +++ b/src/couch/src/couch_changes.erl @@ -29,6 +29,9 @@ -export([changes_enumerator/2]). +%% export so we can use fully qualified call to facilitate hot-code upgrade +-export([keep_sending_changes/3]). + -record(changes_acc, { db, view_name, @@ -644,7 +647,7 @@ keep_sending_changes(Args, Acc0, FirstRound) -> DbOptions1 = [{user_ctx, Db#db.user_ctx} | DbOptions], case couch_db:open(Db#db.name, DbOptions1) of {ok, Db2} -> - keep_sending_changes( + ?MODULE:keep_sending_changes( Args#changes_args{limit=NewLimit}, ChangesAcc#changes_acc{ db = Db2, From 4396891560b70336d340f438a458acecbaff9754 Mon Sep 17 00:00:00 2001 From: ILYA Khlopotov Date: Tue, 27 Jun 2017 10:00:02 -0700 Subject: [PATCH 2/2] Allow wait_updated to switch to new module code --- src/couch/src/couch_changes.erl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/couch/src/couch_changes.erl b/src/couch/src/couch_changes.erl index 11d0d8d4cd..861c81a8ea 100644 --- a/src/couch/src/couch_changes.erl +++ b/src/couch/src/couch_changes.erl @@ -30,7 +30,10 @@ -export([changes_enumerator/2]). %% export so we can use fully qualified call to facilitate hot-code upgrade --export([keep_sending_changes/3]). +-export([ + keep_sending_changes/3, + wait_updated/3 +]). -record(changes_acc, { db, @@ -870,7 +873,7 @@ wait_updated(Timeout, TimeoutFun, UserAcc) -> {Go, UserAcc2} = TimeoutFun(UserAcc), case Go of ok -> - wait_updated(Timeout, TimeoutFun, UserAcc2); + ?MODULE:wait_updated(Timeout, TimeoutFun, UserAcc2); stop -> {stop, UserAcc2} end