summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Newson <rnewson@apache.org>2018-04-12 18:02:56 +0100
committerGitHub <noreply@github.com>2018-04-12 18:02:56 +0100
commit3d1eecb576cc26d17d23ab1658d0d0932580a63d (patch)
tree92c051069c358f27a0d65025cbf1ee639cfd9c9d
parent5b74e660317600fa8867fa5d893a4b7eaf31f8a3 (diff)
parent33783c3deacfa9d869171145a32d77453e862c99 (diff)
downloadcouchdb-3d1eecb576cc26d17d23ab1658d0d0932580a63d.tar.gz
Merge pull request #1281 from apache/commit_data_pse
call commit_data where needed
-rw-r--r--src/couch/src/couch_db_updater.erl17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/couch/src/couch_db_updater.erl b/src/couch/src/couch_db_updater.erl
index 79567e91b..a2de3bc60 100644
--- a/src/couch/src/couch_db_updater.erl
+++ b/src/couch/src/couch_db_updater.erl
@@ -82,16 +82,17 @@ handle_call(cancel_compact, _From, #db{compactor_pid = Pid} = Db) ->
handle_call({set_security, NewSec}, _From, #db{} = Db) ->
{ok, NewDb} = couch_db_engine:set_security(Db, NewSec),
- NewSecDb = NewDb#db{
+ NewSecDb = commit_data(NewDb#db{
security = NewSec
- },
+ }),
ok = gen_server:call(couch_server, {db_updated, NewSecDb}, infinity),
{reply, ok, NewSecDb, idle_limit()};
handle_call({set_revs_limit, Limit}, _From, Db) ->
{ok, Db2} = couch_db_engine:set_revs_limit(Db, Limit),
- ok = gen_server:call(couch_server, {db_updated, Db2}, infinity),
- {reply, ok, Db2, idle_limit()};
+ Db3 = commit_data(Db2),
+ ok = gen_server:call(couch_server, {db_updated, Db3}, infinity),
+ {reply, ok, Db3, idle_limit()};
handle_call({purge_docs, _IdRevs}, _From,
#db{compactor_pid=Pid}=Db) when Pid /= nil ->
@@ -160,12 +161,12 @@ handle_call({purge_docs, IdRevs}, _From, Db) ->
Pairs = pair_purge_info(PreviousFDIs, FDIs),
{ok, Db2} = couch_db_engine:write_doc_infos(Db, Pairs, [], PurgedIdRevs),
-
- ok = gen_server:call(couch_server, {db_updated, Db2}, infinity),
+ Db3 = commit_data(Db2),
+ ok = gen_server:call(couch_server, {db_updated, Db3}, infinity),
couch_event:notify(Db#db.name, updated),
- PurgeSeq = couch_db_engine:get_purge_seq(Db2),
- {reply, {ok, PurgeSeq, PurgedIdRevs}, Db2, idle_limit()};
+ PurgeSeq = couch_db_engine:get_purge_seq(Db3),
+ {reply, {ok, PurgeSeq, PurgedIdRevs}, Db3, idle_limit()};
handle_call(Msg, From, Db) ->
case couch_db_engine:handle_db_updater_call(Msg, From, Db) of