summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shorin <kxepal@apache.org>2015-04-18 22:41:39 +0300
committerAlexander Shorin <kxepal@apache.org>2015-04-18 23:54:38 +0300
commitecb601b2004f33f396530a6ae974f2f0bff4d816 (patch)
treedb023522be6c33370fbbddf60b9e79d9b6a0f066
parent372dd8be046ee999f6d318ff7016621c6e355a60 (diff)
downloadcouchdb-ecb601b2004f33f396530a6ae974f2f0bff4d816.tar.gz
Create _global_changes database on cluster setup
-rw-r--r--src/setup.erl20
-rwxr-xr-xtest/t.sh2
2 files changed, 13 insertions, 9 deletions
diff --git a/src/setup.erl b/src/setup.erl
index 95b2a41ad..194383556 100644
--- a/src/setup.erl
+++ b/src/setup.erl
@@ -43,16 +43,20 @@ is_cluster_enabled() ->
{_,[]} -> no;
{_,_} -> ok
end.
+
+
+cluster_system_dbs() ->
+ ["_users", "_replicator", "_metadata", "_global_changes"].
has_cluster_system_dbs() ->
- % GET /_users /_replicator /_metadata
+ has_cluster_system_dbs(cluster_system_dbs()).
- case catch {
- fabric:get_db_info("_users"),
- fabric:get_db_info("_replicator"),
- fabric:get_db_info("_metadata")} of
- {{ok, _}, {ok, _}, {ok, _}} -> ok;
+has_cluster_system_dbs([]) ->
+ ok;
+has_cluster_system_dbs([Db|Dbs]) ->
+ case catch fabric:get_db_info(Db) of
+ {ok, _} -> has_cluster_system_dbs(Dbs);
_ -> no
end.
@@ -115,9 +119,7 @@ finish_cluster() ->
finish_cluster_int(ok) ->
{error, cluster_finished};
finish_cluster_int(no) ->
- % create clustered databases (_users, _replicator, _metadata)
- Databases = ["_users", "_replicator", "_metadata"],
- lists:foreach(fun fabric:create_db/1, Databases).
+ lists:foreach(fun fabric:create_db/1, cluster_system_dbs()).
add_node(Options) ->
diff --git a/test/t.sh b/test/t.sh
index f6e0422a8..62abb61d7 100755
--- a/test/t.sh
+++ b/test/t.sh
@@ -49,10 +49,12 @@ curl a:b@127.0.0.1:15984/_cluster_setup -d '{"action":"finish_cluster"}' $HEADER
curl a:b@127.0.0.1:15984/_users
curl a:b@127.0.0.1:15984/_replicator
curl a:b@127.0.0.1:15984/_metadata
+curl a:b@127.0.0.1:15984/_global_changes
# Show system dbs exist on node B
curl a:b@127.0.0.1:25984/_users
curl a:b@127.0.0.1:25984/_replicator
curl a:b@127.0.0.1:25984/_metadata
+curl a:b@127.0.0.1:25984/_global_changes
echo "YAY ALL GOOD"