You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ji...@apache.org on 2019/11/21 05:51:47 UTC
[couchdb] 01/01: refactor soft deletion of search index
This is an automated email from the ASF dual-hosted git repository.
jiangphcn pushed a commit to branch refactor-soft-deletion-searchindex
in repository https://gitbox.apache.org/repos/asf/couchdb.git
View the commit online:
https://github.com/apache/couchdb/commit/72faf5dc78f516f255a03925c07af13fe156af76
commit 72faf5dc78f516f255a03925c07af13fe156af76
Author: jiangph <ji...@cn.ibm.com>
AuthorDate: Thu Nov 21 13:48:38 2019 +0800
refactor soft deletion of search index
---
src/dreyfus/src/clouseau_rpc.erl | 9 ++++-----
src/dreyfus/src/dreyfus_index_manager.erl | 7 +------
2 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/src/dreyfus/src/clouseau_rpc.erl b/src/dreyfus/src/clouseau_rpc.erl
index 215adae..10ff566 100644
--- a/src/dreyfus/src/clouseau_rpc.erl
+++ b/src/dreyfus/src/clouseau_rpc.erl
@@ -20,7 +20,7 @@
-export([open_index/3]).
-export([await/2, commit/2, get_update_seq/1, info/1, search/2]).
-export([group1/7, group2/2]).
--export([delete/2, update/3, cleanup/1, cleanup/2, rename/1]).
+-export([delete/2, soft_delete/1, update/3, cleanup/1, cleanup/2]).
-export([analyze/2, version/0, disk_size/1]).
-export([set_purge_seq/2, get_purge_seq/1, get_root_dir/0, close_lru/0, close_lru/1]).
-export([connected/0]).
@@ -78,16 +78,15 @@ group2(Ref, Args) ->
delete(Ref, Id) ->
rpc(Ref, {delete, couch_util:to_binary(Id)}).
+soft_delete(DbName) ->
+ rpc({main, clouseau()}, {soft_delete, DbName}).
+
update(Ref, Id, Fields) ->
rpc(Ref, {update, Id, Fields}).
cleanup(DbName) ->
gen_server:cast({cleanup, clouseau()}, {cleanup, DbName}).
-rename(DbName) ->
- close_lru(DbName),
- gen_server:cast({cleanup, clouseau()}, {rename, DbName}).
-
cleanup(DbName, ActiveSigs) ->
gen_server:cast({cleanup, clouseau()}, {cleanup, DbName, ActiveSigs}).
diff --git a/src/dreyfus/src/dreyfus_index_manager.erl b/src/dreyfus/src/dreyfus_index_manager.erl
index e0fee5e..b37c8aa 100644
--- a/src/dreyfus/src/dreyfus_index_manager.erl
+++ b/src/dreyfus/src/dreyfus_index_manager.erl
@@ -82,10 +82,6 @@ handle_call({open_error, DbName, Sig, Error}, {OpenerPid, _}, State) ->
handle_cast({cleanup, DbName}, State) ->
clouseau_rpc:cleanup(DbName),
- {noreply, State};
-
-handle_cast({rename, DbName}, State) ->
- clouseau_rpc:rename(DbName),
{noreply, State}.
handle_info({'EXIT', FromPid, Reason}, State) ->
@@ -123,8 +119,7 @@ handle_db_event(DbName, deleted, _St) ->
"enable_database_recovery", false),
case RecoveryEnabled of
true ->
- clouseau_rpc:close_lru(DbName),
- gen_server:cast(?MODULE, {rename, DbName});
+ clouseau_rpc:soft_delete(DbName);
false ->
gen_server:cast(?MODULE, {cleanup, DbName})
end,