Revision 663534393461 () - Diff

Link to this snippet: https://friendpaste.com/R43WflJ8r75MupvXuS98v
Embed:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
diff --git a/bin/couchdb.tpl.in b/bin/couchdb.tpl.in
index 370bdb4..eab27b5 100644
--- a/bin/couchdb.tpl.in
+++ b/bin/couchdb.tpl.in
@@ -15,7 +15,12 @@
BACKGROUND=false
DEFAULT_CONFIG_DIR=%localconfdir%/default.d
DEFAULT_CONFIG_FILE=%localconfdir%/%defaultini%
-ERL_START_OPTIONS="-sasl errlog_type error +K true +A 4"
+ERL_OS_MON_OPTIONS="-os_mon \
+ start_memsup false \
+ start_cpu_sup false \
+ disk_space_check_interval 1 \
+ disk_almost_full_threshold 1"
+ERL_START_OPTIONS="$ERL_OS_MON_OPTIONS -sasl errlog_type error +K true +A 4"
HEART_BEAT_TIMEOUT=11
HEART_COMMAND="%bindir%/%couchdb_command_name% -k"
INTERACTIVE=false
diff --git a/src/couchdb/couch_app.erl b/src/couchdb/couch_app.erl
index 232953d..f109780 100644
--- a/src/couchdb/couch_app.erl
+++ b/src/couchdb/couch_app.erl
@@ -20,7 +20,7 @@
start(_Type, DefaultIniFiles) ->
IniFiles = get_ini_files(DefaultIniFiles),
- case start_apps([crypto, public_key, sasl, inets, oauth, ssl, ibrowse, mochiweb]) of
+ case start_apps([crypto, public_key, sasl, inets, oauth, ssl, ibrowse, mochiweb, os_mon]) of
ok ->
couch_server_sup:start_link(IniFiles);
{error, Reason} ->
diff --git a/src/couchdb/couch_compaction_daemon.erl b/src/couchdb/couch_compaction_daemon.erl
index ab85db8..6a0f140 100644
--- a/src/couchdb/couch_compaction_daemon.erl
+++ b/src/couchdb/couch_compaction_daemon.erl
@@ -56,38 +56,15 @@ init(_) ->
?CONFIG_ETS = ets:new(?CONFIG_ETS, [named_table, set, protected]),
ok = couch_config:register(fun ?MODULE:config_change/3),
load_config(),
- case start_os_mon() of
- ok ->
- Server = self(),
- Loop = spawn_link(fun() -> compact_loop(Server) end),
- {ok, #state{loop_pid = Loop}};
- Error ->
- {stop, Error}
- end.
+ Server = self(),
+ Loop = spawn_link(fun() -> compact_loop(Server) end),
+ {ok, #state{loop_pid = Loop}}.
config_change("compactions", DbName, NewValue) ->
ok = gen_server:cast(?MODULE, {config_update, DbName, NewValue}).
-start_os_mon() ->
- _ = application:load(os_mon),
- ok = application:set_env(
- os_mon, disk_space_check_interval, ?DISK_CHECK_PERIOD),
- ok = application:set_env(os_mon, disk_almost_full_threshold, 1),
- ok = application:set_env(os_mon, start_memsup, false),
- ok = application:set_env(os_mon, start_cpu_sup, false),
- _ = application:start(sasl),
- case application:start(os_mon) of
- ok ->
- ok;
- {error, {already_started, os_mon}} ->
- ok;
- Error ->
- Error
- end.
-
-
handle_cast({config_update, DbName, deleted}, State) ->
true = ets:delete(?CONFIG_ETS, ?l2b(DbName)),
{noreply, State};