You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2014/08/05 17:02:22 UTC
[10/24] couch commit: updated refs/heads/windsor-merge-122 to 2f3a1fd
Remove old couch_db_update_notifier code
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch/commit/a2addb5f
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch/tree/a2addb5f
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch/diff/a2addb5f
Branch: refs/heads/windsor-merge-122
Commit: a2addb5fc8eabbe29ca5fad22e1fa8d7c1e70ecf
Parents: c24e6d6
Author: Paul J. Davis <pa...@gmail.com>
Authored: Wed Apr 24 12:59:59 2013 -0500
Committer: Robert Newson <rn...@apache.org>
Committed: Mon Aug 4 15:24:37 2014 +0100
----------------------------------------------------------------------
src/couch_db_update_notifier.erl | 82 -------------------------------
src/couch_db_update_notifier_sup.erl | 68 -------------------------
src/couch_os_process.erl | 2 +-
src/couch_primary_sup.erl | 6 ---
src/couch_secondary_sup.erl | 7 ---
5 files changed, 1 insertion(+), 164 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/a2addb5f/src/couch_db_update_notifier.erl
----------------------------------------------------------------------
diff --git a/src/couch_db_update_notifier.erl b/src/couch_db_update_notifier.erl
deleted file mode 100644
index 3958917..0000000
--- a/src/couch_db_update_notifier.erl
+++ /dev/null
@@ -1,82 +0,0 @@
-% Licensed under the Apache License, Version 2.0 (the "License"); you may not
-% use this file except in compliance with the License. You may obtain a copy of
-% the License at
-%
-% http://www.apache.org/licenses/LICENSE-2.0
-%
-% Unless required by applicable law or agreed to in writing, software
-% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-% License for the specific language governing permissions and limitations under
-% the License.
-
-%
-% This causes an OS process to spawned and it is notified every time a database
-% is updated.
-%
-% The notifications are in the form of a the database name sent as a line of
-% text to the OS processes stdout.
-%
-
--module(couch_db_update_notifier).
-
--behaviour(gen_event).
-
--export([start_link/1, notify/1]).
--export([init/1, terminate/2, handle_event/2, handle_call/2, handle_info/2, code_change/3,stop/1]).
-
--include_lib("couch/include/couch_db.hrl").
-
-start_link(Exec) ->
- couch_event_sup:start_link(couch_db_update, {couch_db_update_notifier, make_ref()}, Exec).
-
-notify(Event) ->
- gen_event:notify(couch_db_update, Event).
-
-stop(Pid) ->
- couch_event_sup:stop(Pid).
-
-init(Exec) when is_list(Exec) -> % an exe
- couch_os_process:start_link(Exec, []);
-init(Else) ->
- {ok, Else}.
-
-terminate(_Reason, Pid) when is_pid(Pid) ->
- couch_os_process:stop(Pid),
- ok;
-terminate(_Reason, _State) ->
- ok.
-
-handle_event(Event, Fun) when is_function(Fun, 1) ->
- Fun(Event),
- {ok, Fun};
-handle_event(Event, {Fun, FunAcc}) ->
- FunAcc2 = Fun(Event, FunAcc),
- {ok, {Fun, FunAcc2}};
-handle_event({EventType, EventDesc}, Pid) ->
- Obj = encode_event(EventType, EventDesc),
- ok = couch_os_process:send(Pid, Obj),
- {ok, Pid}.
-
-handle_call(_Request, State) ->
- {reply, ok, State}.
-
-handle_info({'EXIT', Pid, Reason}, Pid) ->
- ?LOG_ERROR("Update notification process ~p died: ~p", [Pid, Reason]),
- remove_handler;
-handle_info({'EXIT', _, _}, Pid) ->
- %% the db_update event manager traps exits and forwards this message to all
- %% its handlers. Just ignore as it wasn't our os_process that exited.
- {ok, Pid}.
-
-code_change(_OldVsn, State, _Extra) ->
- {ok, State}.
-
-encode_event(EventType, EventDesc) when is_atom(EventType) ->
- encode_event(atom_to_list(EventType), EventDesc);
-encode_event(EventType, EventDesc) when is_list(EventType) ->
- encode_event(?l2b(EventType), EventDesc);
-encode_event(EventType, {DbName, DocId}) ->
- {[{type, EventType}, {db, DbName}, {id, DocId}]};
-encode_event(EventType, DbName) ->
- {[{type, EventType}, {db, DbName}]}.
http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/a2addb5f/src/couch_db_update_notifier_sup.erl
----------------------------------------------------------------------
diff --git a/src/couch_db_update_notifier_sup.erl b/src/couch_db_update_notifier_sup.erl
deleted file mode 100644
index 9eb943a..0000000
--- a/src/couch_db_update_notifier_sup.erl
+++ /dev/null
@@ -1,68 +0,0 @@
-% Licensed under the Apache License, Version 2.0 (the "License"); you may not
-% use this file except in compliance with the License. You may obtain a copy of
-% the License at
-%
-% http://www.apache.org/licenses/LICENSE-2.0
-%
-% Unless required by applicable law or agreed to in writing, software
-% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-% License for the specific language governing permissions and limitations under
-% the License.
-
-%
-% This causes an OS process to spawned and it is notified every time a database
-% is updated.
-%
-% The notifications are in the form of a the database name sent as a line of
-% text to the OS processes stdout.
-%
-
--module(couch_db_update_notifier_sup).
-
--behaviour(supervisor).
--behaviour(config_listener).
-
--export([start_link/0, init/1]).
-
-% config_listener api
--export([handle_config_change/5]).
-
-
-start_link() ->
- supervisor:start_link({local, couch_db_update_notifier_sup},
- couch_db_update_notifier_sup, []).
-
-init([]) ->
- ok = config:listen_for_changes(?MODULE, nil),
-
- UpdateNotifierExes = config:get("update_notification"),
-
- {ok,
- {{one_for_one, 10, 3600},
- lists:map(fun({Name, UpdateNotifierExe}) ->
- {Name,
- {couch_db_update_notifier, start_link, [UpdateNotifierExe]},
- permanent,
- 1000,
- supervisor,
- [couch_db_update_notifier]}
- end, UpdateNotifierExes)}}.
-
-%% @doc when update_notification configuration changes, terminate the process
-%% for that notifier and start a new one with the updated config
-handle_config_change("update_notification", Id, Exe, _, _) ->
- ChildSpec = {
- Id,
- {couch_db_update_notifier, start_link, [Exe]},
- permanent,
- 1000,
- supervisor,
- [couch_db_update_notifier]
- },
- supervisor:terminate_child(couch_db_update_notifier_sup, Id),
- supervisor:delete_child(couch_db_update_notifier_sup, Id),
- supervisor:start_child(couch_db_update_notifier_sup, ChildSpec),
- {ok, nil};
-handle_config_change(_, _, _, _, _) ->
- {ok, nil}.
http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/a2addb5f/src/couch_os_process.erl
----------------------------------------------------------------------
diff --git a/src/couch_os_process.erl b/src/couch_os_process.erl
index 6756dd3..f4d65e9 100644
--- a/src/couch_os_process.erl
+++ b/src/couch_os_process.erl
@@ -45,7 +45,7 @@ stop(Pid) ->
set_timeout(Pid, TimeOut) when is_integer(TimeOut) ->
ok = gen_server:call(Pid, {set_timeout, TimeOut}, infinity).
-% Used by couch_db_update_notifier.erl
+% Used by couch_event_os_process.erl
send(Pid, Data) ->
gen_server:cast(Pid, {send, Data}).
http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/a2addb5f/src/couch_primary_sup.erl
----------------------------------------------------------------------
diff --git a/src/couch_primary_sup.erl b/src/couch_primary_sup.erl
index 3ce8827..cbd576d 100644
--- a/src/couch_primary_sup.erl
+++ b/src/couch_primary_sup.erl
@@ -37,12 +37,6 @@ init([]) ->
brutal_kill,
worker,
[couch_server]},
- {couch_db_update_event,
- {gen_event, start_link, [{local, couch_db_update}]},
- permanent,
- brutal_kill,
- worker,
- dynamic},
{couch_replication_event,
{gen_event, start_link, [{local, couch_replication}]},
permanent,
http://git-wip-us.apache.org/repos/asf/couchdb-couch/blob/a2addb5f/src/couch_secondary_sup.erl
----------------------------------------------------------------------
diff --git a/src/couch_secondary_sup.erl b/src/couch_secondary_sup.erl
index 91e87cb..09e77b7 100644
--- a/src/couch_secondary_sup.erl
+++ b/src/couch_secondary_sup.erl
@@ -19,13 +19,6 @@ start_link() ->
init([]) ->
SecondarySupervisors = [
- {couch_db_update_notifier_sup,
- {couch_db_update_notifier_sup, start_link, []},
- permanent,
- infinity,
- supervisor,
- [couch_db_update_notifier_sup]},
-
{couch_plugin_event,
{gen_event, start_link, [{local, couch_plugin}]},
permanent,