Comment out some config options in the main branch
diff --git a/rebar.config.script b/rebar.config.script
index a7d9992..98fdcfd 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -138,7 +138,7 @@
 
 DepDescs = [
 %% Independent Apps
-{config,           "config",           {tag, "2.1.8"}},
+{config,           "config",           {tag, "2.1.9"}},
 {b64url,           "b64url",           {tag, "1.0.2"}},
 {erlfdb,           "erlfdb",           {tag, "v1.3.4"}},
 {ets_lru,          "ets-lru",          {tag, "1.1.0"}},
diff --git a/rel/overlay/etc/default.ini b/rel/overlay/etc/default.ini
index e8e06c7..863a7e7 100644
--- a/rel/overlay/etc/default.ini
+++ b/rel/overlay/etc/default.ini
@@ -6,20 +6,20 @@
 uuid = {{uuid}}
 ; util_driver_dir =
 ; plugin_dir =
-os_process_timeout = 5000 ; 5 seconds. for view servers.
-max_dbs_open = 500
+;os_process_timeout = 5000 ; 5 seconds. for view servers.
+;max_dbs_open = 500
 ; Default security object for databases if not explicitly set
 ; everyone - same as couchdb 1.0, everyone can read/write
 ; admin_only - only admins can read/write
 ; admin_local - sharded dbs on :5984 are read/write for everyone,
 ;               local dbs on :5986 are read/write for admins only
-default_security = admin_only
+;default_security = admin_only
 ; maintenance_mode = false
 ; uri_file =
 ; The speed of processing the _changes feed with doc_ids filter can be
 ; influenced directly with this setting - increase for faster processing at the
 ; expense of more memory usage.
-changes_doc_ids_optimization_threshold = 100
+;changes_doc_ids_optimization_threshold = 100
 ;
 ; Maximum database name length. The default setting is chosen for CouchDB < 4.x
 ; compatibility, where it was determined by the maximum file name size. On most
@@ -55,24 +55,24 @@
 ;enable_database_recovery = false
 ;
 ; Allow edits on the _security object in the user db. By default, it's disabled.
-users_db_security_editable = false
+;users_db_security_editable = false
 
 [chttpd]
 ; These settings affect the main, clustered port (5984 by default).
 port = {{cluster_port}}
 bind_address = 127.0.0.1
-backlog = 512
-socket_options = [{sndbuf, 262144}, {nodelay, true}]
-server_options = [{recbuf, undefined}]
-require_valid_user = false
+;backlog = 512
+;socket_options = [{sndbuf, 262144}, {nodelay, true}]
+;server_options = [{recbuf, undefined}]
+;require_valid_user = false
 ; require_valid_user_except_for_up = false
 ; List of headers that will be kept when the header Prefer: return=minimal is included in a request.
 ; If Server header is left out, Mochiweb will add its own one in.
-prefer_minimal = Cache-Control, Content-Length, Content-Range, Content-Type, ETag, Server, Transfer-Encoding, Vary
+;prefer_minimal = Cache-Control, Content-Length, Content-Range, Content-Type, ETag, Server, Transfer-Encoding, Vary
 ;
 ; Limit maximum number of databases when tying to get detailed information using
 ; _dbs_info in a request
-max_db_number_for_dbs_info_req = 100
+;max_db_number_for_dbs_info_req = 100
 
 ; set to true to delay the start of a response until the end has been calculated
 ;buffer_response = false
@@ -132,13 +132,13 @@
 [httpd]
 port = {{backend_port}}
 bind_address = 127.0.0.1
-authentication_handlers = {couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}
+;authentication_handlers = {couch_httpd_auth, cookie_authentication_handler}, {couch_httpd_auth, default_authentication_handler}
 
 ; Options for the MochiWeb HTTP server.
 ;server_options = [{backlog, 128}, {acceptor_pool_size, 16}]
 ; For more socket options, consult Erlang's module 'inet' man page.
 ;socket_options = [{recbuf, undefined}, {sndbuf, 262144}, {nodelay, true}]
-socket_options = [{sndbuf, 262144}]
+;socket_options = [{sndbuf, 262144}]
 
 ; These settings were moved to [chttpd]
 ; secure_rewrites, allow_jsonp, enable_cors, enable_xframe_options,
@@ -146,7 +146,7 @@
 ; x_forwarded_host, x_forwarded_proto, x_forwarded_ssl, max_http_request_size
 
 [ssl]
-port = 6984
+;port = 6984
 
 [chttpd_auth]
 ;authentication_db = _users
@@ -207,7 +207,7 @@
 [couch_httpd_auth]
 ; WARNING! This only affects the node-local port (5986 by default).
 ; You probably want the settings under [chttpd].
-authentication_db = _users
+;authentication_db = _users
 
 ; These settings were moved to [chttpd_auth]
 ; authentication_redirect, require_valid_user, timeout,
@@ -277,11 +277,11 @@
 
 ; CSP (Content Security Policy) Support for _utils
 [csp]
-enable = true
+;enable = true
 ; header_value = default-src 'self'; img-src 'self'; font-src *; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline';
 
 [cors]
-credentials = false
+;credentials = false
 ; List of origins separated by a comma, * means accept all
 ; Origins must include the scheme: http://example.com
 ; You can't set origins: * and credentials = true at the same time.
@@ -328,8 +328,8 @@
 ; please let us know on the mailing list so we can fine tune the heuristic.
 [query_server_config]
 ; commit_freq = 5
-reduce_limit = true
-os_process_limit = 100
+;reduce_limit = true
+;os_process_limit = 100
 ; os_process_idle_limit = 300
 ; os_process_soft_limit = 100
 ; Timeout for how long a response from a busy view group server can take.
@@ -341,8 +341,8 @@
 ; The list of modules that implement the couch_eval
 ; beahvior for executing provided code in design
 ; documents.
-javascript = couch_js
-query = mango_eval
+;javascript = couch_js
+;query = mango_eval
 
 [mango]
 ; Set to true to disable the "index all fields" text index, which can lead
@@ -374,16 +374,16 @@
 ;     First 14 characters are the time in hex. Last 18 are random.
 ;   utc_id - Time since Jan 1, 1970 UTC with microseconds, plus utc_id_suffix string
 ;     First 14 characters are the time in hex. uuids/utc_id_suffix string value is appended to these.
-algorithm = sequential
+;algorithm = sequential
 ; The utc_id_suffix value will be appended to uuids generated by the utc_id algorithm.
 ; Replicating instances should have unique utc_id_suffix values to ensure uniqueness of utc_id ids.
-utc_id_suffix =
+;utc_id_suffix =
 # Maximum number of UUIDs retrievable from /_uuids in a single request
-max_count = 1000
+;max_count = 1000
 
 [attachments]
-compression_level = 8 ; from 1 (lowest, fastest) to 9 (highest, slowest), 0 to disable compression
-compressible_types = text/*, application/javascript, application/json, application/xml
+;compression_level = 8 ; from 1 (lowest, fastest) to 9 (highest, slowest), 0 to disable compression
+;compressible_types = text/*, application/javascript, application/json, application/xml
 
 [replicator]
 ; Number of actively running replications per replication backend node
@@ -524,7 +524,7 @@
 ;  emergency, emerg
 ;  none
 ;
-level = info
+;level = info
 ;
 ; Set the maximum log message length in bytes that will be
 ; passed through the writer
@@ -547,7 +547,7 @@
 ; over the network, and a journald writer that's more suitable
 ; when using systemd journald.
 ;
-writer = stderr
+;writer = stderr
 ; Journald Writer notes:
 ;
 ; The journald writer doesn't have any options. It still writes
@@ -721,6 +721,6 @@
 ;cache_deletion_grace_sec = 5
 
 [prometheus]
-additional_port = false
+;additional_port = false
 bind_address = 127.0.0.1
 port = {{prometheus_port}}
diff --git a/src/chttpd/src/chttpd.erl b/src/chttpd/src/chttpd.erl
index 5f3d76d..e232ff4 100644
--- a/src/chttpd/src/chttpd.erl
+++ b/src/chttpd/src/chttpd.erl
@@ -58,6 +58,9 @@
     buffer_response=false
 }).
 
+-define(DEFAULT_SERVER_OPTIONS, "[{recbuf, undefined}]").
+-define(DEFAULT_SOCKET_OPTIONS, "[{sndbuf, 262144}, {nodelay, true}]").
+
 start_link() ->
     start_link(http).
 start_link(http) ->
@@ -148,7 +151,13 @@
     end.
 
 get_server_options(Module) ->
-    ServerOptsCfg = config:get(Module, "server_options", "[]"),
+    ServerOptsCfg =
+        case Module of
+            "chttpd" ->
+                config:get(Module, "server_options", ?DEFAULT_SERVER_OPTIONS);
+            _ ->
+                config:get(Module, "server_options", "[]")
+        end,
     {ok, ServerOpts} = couch_util:parse_term(ServerOptsCfg),
     ServerOpts.
 
@@ -165,13 +174,10 @@
 
 handle_request_int(MochiReq) ->
     Begin = os:timestamp(),
-    case config:get("chttpd", "socket_options") of
-    undefined ->
-        ok;
-    SocketOptsCfg ->
-        {ok, SocketOpts} = couch_util:parse_term(SocketOptsCfg),
-        ok = mochiweb_socket:setopts(MochiReq:get(socket), SocketOpts)
-    end,
+    SocketOptsCfg = config:get("chttpd",
+        "socket_options", ?DEFAULT_SOCKET_OPTIONS),
+    {ok, SocketOpts} = couch_util:parse_term(SocketOptsCfg),
+    ok = mochiweb_socket:setopts(MochiReq:get(socket), SocketOpts),
 
     % for the path, use the raw path with the query string and fragment
     % removed, but URL quoting left intact
diff --git a/src/chttpd/src/chttpd_misc.erl b/src/chttpd/src/chttpd_misc.erl
index 3f81c1b..f8e47a2 100644
--- a/src/chttpd/src/chttpd_misc.erl
+++ b/src/chttpd/src/chttpd_misc.erl
@@ -89,7 +89,7 @@
     {_ActionKey, "/", RelativePath} ->
         % GET /_utils/path or GET /_utils/
         CachingHeaders = [{"Cache-Control", "private, must-revalidate"}],
-        EnableCsp = config:get("csp", "enable", "false"),
+        EnableCsp = config:get("csp", "enable", "true"),
         Headers = maybe_add_csp_headers(CachingHeaders, EnableCsp),
         chttpd:serve_file(Req, RelativePath, DocumentRoot, Headers);
     {_ActionKey, "", _RelativePath} ->
@@ -330,7 +330,7 @@
     send_method_not_allowed(Req, "POST").
 
 handle_uuids_req(#httpd{method='GET'}=Req) ->
-    Max = list_to_integer(config:get("uuids","max_count","1000")),
+    Max = config:get_integer("uuids", "max_count", 1000),
     Count = try list_to_integer(couch_httpd:qs_value(Req, "count", "1")) of
         N when N > Max ->
             throw({bad_request, <<"count parameter too large">>});
diff --git a/src/chttpd/src/chttpd_prefer_header.erl b/src/chttpd/src/chttpd_prefer_header.erl
index 1ad1443..12677a5 100644
--- a/src/chttpd/src/chttpd_prefer_header.erl
+++ b/src/chttpd/src/chttpd_prefer_header.erl
@@ -22,6 +22,11 @@
 -include_lib("couch/include/couch_db.hrl").
 
 
+-define(DEFAULT_PREFER_MINIMAL,
+    "Cache-Control, Content-Length, Content-Range, "
+    "Content-Type, ETag, Server, Transfer-Encoding, Vary").
+
+
 maybe_return_minimal(#httpd{mochi_req = MochiReq}, Headers) ->
     case get_prefer_header(MochiReq) of
         "return=minimal" -> 
@@ -47,8 +52,7 @@
 
 
 get_header_list() ->
-    SectionStr = config:get("chttpd", "prefer_minimal", ""),
-    split_list(SectionStr).
+    split_list(config:get("chttpd", "prefer_minimal", ?DEFAULT_PREFER_MINIMAL)).
 
 
 split_list(S) ->
diff --git a/src/chttpd/src/chttpd_sup.erl b/src/chttpd/src/chttpd_sup.erl
index 250690d..b655648 100644
--- a/src/chttpd/src/chttpd_sup.erl
+++ b/src/chttpd/src/chttpd_sup.erl
@@ -26,6 +26,8 @@
 
 %% Helper macro for declaring children of supervisor
 -define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 100, Type, [I]}).
+-define(DEFAULT_BACKLOG, 512).
+-define(DEFAULT_SERVER_OPTIONS, "[{recbuf, undefined}]").
 
 start_link() ->
     Arg = case fabric2_node_types:is_type(api_frontend) of
@@ -77,8 +79,9 @@
     [
         {bind_address, config:get("chttpd", "bind_address")},
         {port, config:get("chttpd", "port")},
-        {backlog, config:get("chttpd", "backlog")},
-        {server_options, config:get("chttpd", "server_options")}
+        {backlog, config:get_integer("chttpd", "backlog", ?DEFAULT_BACKLOG)},
+        {server_options, config:get("chttpd",
+            "server_options", ?DEFAULT_SERVER_OPTIONS)}
     ].
 
 maybe_replace(Key, Value, Settings) ->
diff --git a/src/chttpd/test/eunit/chttpd_util_test.erl b/src/chttpd/test/eunit/chttpd_util_test.erl
index 24403b5..885f92b 100644
--- a/src/chttpd/test/eunit/chttpd_util_test.erl
+++ b/src/chttpd/test/eunit/chttpd_util_test.erl
@@ -51,25 +51,17 @@
                 fun setup/0,
                 fun teardown/1,
                 [
-                    ?TDEF_FE(test_behavior),
+                    ?TDEF_FE(test_chttpd_behavior),
                     ?TDEF_FE(test_with_undefined_option),
-                    ?TDEF_FE(test_with_httpd_option),
-                    ?TDEF_FE(test_with_chttpd_option),
-                    ?TDEF_FE(test_with_chttpd_option_which_moved_from_httpd),
-                    ?TDEF_FE(test_get_chttpd_config_integer),
-                    ?TDEF_FE(test_get_chttpd_config_boolean),
                     ?TDEF_FE(test_auth_behavior),
-                    ?TDEF_FE(test_auth_with_undefined_option),
-                    ?TDEF_FE(test_auth_with_moved_options),
-                    ?TDEF_FE(test_get_chttpd_auth_config_integer),
-                    ?TDEF_FE(test_get_chttpd_auth_config_boolean)
+                    ?TDEF_FE(test_auth_with_undefined_option)
                 ]
             }
         }
     }.
 
 
-test_behavior(_) ->
+test_chttpd_behavior(_) ->
     ?assertEqual("get_in_chttpd", chttpd_util:get_chttpd_config("both_exist")),
     ?assertEqual(1, chttpd_util:get_chttpd_config_integer("chttpd_only", 0)),
     ?assert(chttpd_util:get_chttpd_config_boolean("httpd_only", false)).
@@ -86,40 +78,6 @@
     ?assertNot(chttpd_util:get_chttpd_config("undefined_option", false)).
 
 
-test_with_httpd_option(_) ->
-    ?assertEqual("{couch_httpd_auth, cookie_authentication_handler}, " ++
-            "{couch_httpd_auth, default_authentication_handler}",
-                    chttpd_util:get_chttpd_config("authentication_handlers")).
-
-
-test_with_chttpd_option(_) ->
-    ?assertEqual("512", chttpd_util:get_chttpd_config("backlog")),
-    ?assertEqual("512", chttpd_util:get_chttpd_config("backlog", 123)),
-    ?assertEqual(512, chttpd_util:get_chttpd_config_integer("backlog", 123)),
-    ?assertEqual("false",
-        chttpd_util:get_chttpd_config("require_valid_user")),
-    ?assertEqual("false",
-        chttpd_util:get_chttpd_config("require_valid_user", "true")),
-    ?assertEqual(false,
-        chttpd_util:get_chttpd_config_boolean("require_valid_user", true)).
-
-
-test_with_chttpd_option_which_moved_from_httpd(_) ->
-    ?assertEqual(undefined, chttpd_util:get_chttpd_config("max_uri_length")),
-    ?assertEqual(8000, chttpd_util:get_chttpd_config("max_uri_length", 8000)),
-    ?assertEqual(undefined, chttpd_util:get_chttpd_config("WWW-Authenticate")),
-    ?assert(chttpd_util:get_chttpd_config("enable_cors", true)).
-
-
-test_get_chttpd_config_integer(_) ->
-    ?assertEqual(123,
-        chttpd_util:get_chttpd_config_integer("max_http_request_size", 123)).
-
-
-test_get_chttpd_config_boolean(_) ->
-    ?assert(chttpd_util:get_chttpd_config_boolean("allow_jsonp", true)).
-
-
 test_auth_behavior(_) ->
     ?assertEqual("ca", chttpd_util:get_chttpd_auth_config("both_exist")),
     ?assertEqual(1, chttpd_util:get_chttpd_auth_config_integer("ca_only", 0)),
@@ -135,22 +93,3 @@
     ?assertEqual("", chttpd_util:get_chttpd_auth_config("undefine", "")),
     ?assert(chttpd_util:get_chttpd_auth_config("undefine", true)),
     ?assertNot(chttpd_util:get_chttpd_auth_config("undefine", false)).
-
-
-test_auth_with_moved_options(_) ->
-    ?assertEqual("/_utils/session.html", chttpd_util:get_chttpd_auth_config(
-        "authentication_redirect", "/_utils/session.html")),
-    ?assert(chttpd_util:get_chttpd_auth_config("require_valid_user", true)),
-    ?assertEqual(10, chttpd_util:get_chttpd_auth_config("iterations", 10)).
-
-
-test_get_chttpd_auth_config_integer(_) ->
-    ?assertEqual(123, chttpd_util:get_chttpd_auth_config_integer(
-        "timeout", 123)).
-
-
-test_get_chttpd_auth_config_boolean(_) ->
-    ?assertNot(chttpd_util:get_chttpd_auth_config_boolean(
-        "require_valid_user", false)),
-    ?assert(chttpd_util:get_chttpd_auth_config_boolean(
-        "allow_persistent_cookies", true)).
diff --git a/src/couch/src/couch_att.erl b/src/couch/src/couch_att.erl
index 06671aa..706e821 100644
--- a/src/couch/src/couch_att.erl
+++ b/src/couch/src/couch_att.erl
@@ -60,6 +60,8 @@
 
 
 -define(CURRENT_ATT_FORMAT, 0).
+-define(DEFAULT_COMPRESSIBLE_TYPES,
+    "text/*, application/javascript, application/json, application/xml").
 
 
 -type prop_name() ::
@@ -633,7 +635,7 @@
 maybe_compress(Att) ->
     [Encoding, Type] = fetch([encoding, type], Att),
     IsCompressible = is_compressible(Type),
-    CompLevel = config:get_integer("attachments", "compression_level", 0),
+    CompLevel = config:get_integer("attachments", "compression_level", 8),
     case Encoding of
         identity when IsCompressible, CompLevel >= 1, CompLevel =< 9 ->
             compress(Att, CompLevel);
@@ -665,7 +667,8 @@
     is_compressible(binary_to_list(Type));
 is_compressible(Type) ->
     TypeExpList = re:split(
-        config:get("attachments", "compressible_types", ""),
+        config:get("attachments", "compressible_types",
+            ?DEFAULT_COMPRESSIBLE_TYPES),
         "\\s*,\\s*",
         [{return, list}]
     ),
diff --git a/src/couch/src/couch_httpd.erl b/src/couch/src/couch_httpd.erl
index 8a58e77..1698a98 100644
--- a/src/couch/src/couch_httpd.erl
+++ b/src/couch/src/couch_httpd.erl
@@ -40,6 +40,7 @@
 -define(HANDLER_NAME_IN_MODULE_POS, 6).
 -define(MAX_DRAIN_BYTES, 1048576).
 -define(MAX_DRAIN_TIME_MSEC, 1000).
+-define(DEFAULT_MAX_HTTP_REQUEST_SIZE, 4294967296).
 
 
 % SpecStr is a string like "{my_module, my_fun}"
@@ -131,7 +132,7 @@
 check_max_request_length(Req) ->
     Len = list_to_integer(header_value(Req, "Content-Length", "0")),
     MaxLen = chttpd_util:get_chttpd_config_integer(
-        "max_http_request_size", 4294967296),
+        "max_http_request_size", ?DEFAULT_MAX_HTTP_REQUEST_SIZE),
     case Len > MaxLen of
         true ->
             exit({body_too_large, Len});
@@ -256,14 +257,14 @@
     % called with Length == 0 on the last time.
     MochiReq:stream_body(MaxChunkSize, ChunkFun, InitState,
         chttpd_util:get_chttpd_config_integer(
-            "max_http_request_size", 4294967296)).
+            "max_http_request_size", ?DEFAULT_MAX_HTTP_REQUEST_SIZE)).
 
 body_length(#httpd{mochi_req=MochiReq}) ->
     MochiReq:get(body_length).
 
 body(#httpd{mochi_req=MochiReq, req_body=undefined}) ->
     MaxSize = chttpd_util:get_chttpd_config_integer(
-        "max_http_request_size", 4294967296),
+        "max_http_request_size", ?DEFAULT_MAX_HTTP_REQUEST_SIZE),
     MochiReq:recv_body(MaxSize);
 body(#httpd{req_body=ReqBody}) ->
     ReqBody.
diff --git a/src/couch/src/couch_proc_manager.erl b/src/couch/src/couch_proc_manager.erl
index 4627a9f..2dac0ce 100644
--- a/src/couch/src/couch_proc_manager.erl
+++ b/src/couch/src/couch_proc_manager.erl
@@ -598,19 +598,17 @@
 
 
 get_proc_config() ->
-    Limit = config:get("query_server_config", "reduce_limit", "true"),
-    Timeout = config:get("couchdb", "os_process_timeout", "5000"),
+    Limit = config:get_boolean("query_server_config", "reduce_limit", true),
+    Timeout = config:get_integer("couchdb", "os_process_timeout", 5000),
     {[
-        {<<"reduce_limit">>, list_to_atom(Limit)},
-        {<<"timeout">>, list_to_integer(Timeout)}
+        {<<"reduce_limit">>, Limit},
+        {<<"timeout">>, Timeout}
     ]}.
 
 
 get_hard_limit() ->
-    LimStr = config:get("query_server_config", "os_process_limit", "100"),
-    list_to_integer(LimStr).
+    config:get_integer("query_server_config", "os_process_limit", 100).
 
 
 get_soft_limit() ->
-    LimStr = config:get("query_server_config", "os_process_soft_limit", "100"),
-    list_to_integer(LimStr).
+    config:get_integer("query_server_config", "os_process_soft_limit", 100).
diff --git a/src/couch/src/couch_query_servers.erl b/src/couch/src/couch_query_servers.erl
index de3d6a5..a011080 100644
--- a/src/couch/src/couch_query_servers.erl
+++ b/src/couch/src/couch_query_servers.erl
@@ -545,7 +545,7 @@
     apply(Mod, Func, [Proc#proc.pid, Timeout]).
 
 get_os_process_timeout() ->
-    list_to_integer(config:get("couchdb", "os_process_timeout", "5000")).
+    config:get_integer("couchdb", "os_process_timeout", 5000).
 
 get_ddoc_process(#doc{} = DDoc, DDocKey) ->
     % remove this case statement
diff --git a/src/couch/src/couch_uuids.erl b/src/couch/src/couch_uuids.erl
index b9c03b5..3fffd04 100644
--- a/src/couch/src/couch_uuids.erl
+++ b/src/couch/src/couch_uuids.erl
@@ -98,7 +98,7 @@
     couch_rand:uniform(16#ffd).
 
 state() ->
-    AlgoStr = config:get("uuids", "algorithm", "random"),
+    AlgoStr = config:get("uuids", "algorithm", "sequential"),
     case couch_util:to_existing_atom(AlgoStr) of
         random ->
             random;
diff --git a/src/couch_eval/src/couch_eval.erl b/src/couch_eval/src/couch_eval.erl
index 059507d..a6471b4 100644
--- a/src/couch_eval/src/couch_eval.erl
+++ b/src/couch_eval/src/couch_eval.erl
@@ -145,11 +145,19 @@
 get_api_mod(Language) when is_binary(Language) ->
     try
         LangStr = binary_to_list(Language),
-        ModStr = config:get("couch_eval.languages", LangStr),
-        if ModStr /= undefined -> ok; true ->
-            erlang:error({unknown_eval_api_language, Language})
-        end,
-        list_to_existing_atom(ModStr)
+        ModStr =
+            case LangStr of
+                "javascript" ->
+                    config:get("couch_eval.languages", LangStr, "couch_js");
+                "query" ->
+                    config:get("couch_eval.languages", LangStr, "mango_eval");
+                _ ->
+                    config:get("couch_eval.languages", LangStr)
+            end,
+        case ModStr of
+            _ -> list_to_existing_atom(ModStr);
+            undefined -> erlang:error({unknown_eval_api_language, Language})
+        end
     catch error:badarg ->
         erlang:error({invalid_eval_api_mod, Language})
     end.
diff --git a/src/couch_js/src/couch_js_proc_manager.erl b/src/couch_js/src/couch_js_proc_manager.erl
index 0f55ced..0d3be22 100644
--- a/src/couch_js/src/couch_js_proc_manager.erl
+++ b/src/couch_js/src/couch_js_proc_manager.erl
@@ -604,19 +604,17 @@
 
 
 get_proc_config() ->
-    Limit = config:get("query_server_config", "reduce_limit", "true"),
-    Timeout = config:get("couchdb", "os_process_timeout", "5000"),
+    Limit = config:get_boolean("query_server_config", "reduce_limit", true),
+    Timeout = config:get_integer("couchdb", "os_process_timeout", 5000),
     {[
-        {<<"reduce_limit">>, list_to_atom(Limit)},
-        {<<"timeout">>, list_to_integer(Timeout)}
+        {<<"reduce_limit">>, Limit},
+        {<<"timeout">>, Timeout}
     ]}.
 
 
 get_hard_limit() ->
-    LimStr = config:get("query_server_config", "os_process_limit", "100"),
-    list_to_integer(LimStr).
+    config:get_integer("query_server_config", "os_process_limit", 100).
 
 
 get_soft_limit() ->
-    LimStr = config:get("query_server_config", "os_process_soft_limit", "100"),
-    list_to_integer(LimStr).
+    config:get_integer("query_server_config", "os_process_soft_limit", 100).
diff --git a/src/couch_js/src/couch_js_query_servers.erl b/src/couch_js/src/couch_js_query_servers.erl
index 7dbacc6..7c36f39 100644
--- a/src/couch_js/src/couch_js_query_servers.erl
+++ b/src/couch_js/src/couch_js_query_servers.erl
@@ -468,7 +468,7 @@
     apply(Mod, Func, [Proc#proc.pid, Timeout]).
 
 get_os_process_timeout() ->
-    list_to_integer(config:get("couchdb", "os_process_timeout", "5000")).
+    config:get_integer("couchdb", "os_process_timeout", 5000).
 
 get_ddoc_process(#doc{} = DDoc, DDocKey) ->
     % remove this case statement
diff --git a/src/couch_prometheus/src/couch_prometheus_sup.erl b/src/couch_prometheus/src/couch_prometheus_sup.erl
index 8d8c7e0..102ed94 100644
--- a/src/couch_prometheus/src/couch_prometheus_sup.erl
+++ b/src/couch_prometheus/src/couch_prometheus_sup.erl
@@ -32,8 +32,7 @@
     }}.
 
 maybe_start_prometheus_http() ->
-    case config:get("prometheus", "additional_port", "false") of
-        "false" -> [];
-        "true" -> [?CHILD(couch_prometheus_http, worker)];
-        _ -> []
+    case config:get_boolean("prometheus", "additional_port", false) of
+        false -> [];
+        true -> [?CHILD(couch_prometheus_http, worker)]
     end.
diff --git a/src/couch_replicator/test/eunit/couch_replicator_large_atts_tests.erl b/src/couch_replicator/test/eunit/couch_replicator_large_atts_tests.erl
index fcbdf22..d6a563d 100644
--- a/src/couch_replicator/test/eunit/couch_replicator_large_atts_tests.erl
+++ b/src/couch_replicator/test/eunit/couch_replicator_large_atts_tests.erl
@@ -21,6 +21,8 @@
 -define(ATT_SIZE_2, round(6.6 * 1024 * 1024)).
 -define(DOCS_COUNT, 11).
 -define(TIMEOUT_EUNIT, 120).
+-define(DEFAULT_COMPRESSIBLE_TYPES,
+    "text/*, application/javascript, application/json, application/xml").
 
 
 large_atts_test_() ->
@@ -43,7 +45,8 @@
 
 
 setup() ->
-    AttCfg = config:get("attachments", "compressible_types"),
+    AttCfg = config:get("attachments",
+        "compressible_types", ?DEFAULT_COMPRESSIBLE_TYPES),
     config:set("attachments", "compressible_types", "text/*", false),
     Source = couch_replicator_test_helper:create_db(),
     ok = populate_db(Source, ?DOCS_COUNT),