SHORT VERSION:
Multiple couchdb invocations on a single machine are not
behaving as I would expect to isolate databases.
Does someone have a tested configuration they will share ?
LONG VERSION:
I have installed
couchdb - Apache CouchDB 0.11.0b828784
and am trying to do what I thought would be simple.
Run two independent invocations of couchdb on the same machine.
With the expectation that by running separate invocations, I
could keep respective databases isolated from each.
Here's what I want
* one invocation on default port 5984 (let's call this one PAT)
* other invocation on non-default port 5985 (let's call this one MIKE)
* PAT should not see or have access to MIKE databases
* MIKE should not see or have access to PAT databases
* PAT can hang with no effect on MIKE
* MIKE can hang and have no effect on PAT
* long running events on either have no effect on the other
Here's what I tried (all pertinent directories and files are created with
rw permissions to invoking user). default.ini is as created by couchdb
build/install.
---
Added the following to /usr/local/etc/couchdb/local.ini
[couchdb]
database_dir = /usr/local/var/lib/couchdb_pat
view_index_dir = /usr/local/var/lib/couchdb_pat
[log]
file = /home/erl/couchdb/logs/couch_pat.log
level = info
---
Added the following to /usr/local/etc/couchdb/mike/local_mike.ini
[couchdb]
database_dir = /usr/local/var/lib/couchdb_mike
view_index_dir = /usr/local/var/lib/couchdb_mike
[log]
file = /home/erl/couchdb/logs/couch_mike.log
level = info
[httpd]
port = 5985
---
start PAT with
couchdb -b -p /usr/local/var/run/couchdb_pat.pid \
-o /home/erl/couchdb/logs/couchdb_pat.stdout \
-e /home/erl/couchdb/logs/couchdb_pat.stderr
---
start MIKE with
couchdb -b -p /usr/local/var/run/couchdb_mike.pid \
-a /usr/local/etc/couchdb/mike/local_mike.ini \
-o /home/erl/couchdb/logs/couchdb_mike.stdout \
-e /home/erl/couchdb/logs/couchdb_mike.stderr
---
NOW, in Futon, for PAT http://localhost:5984/_utils/config.html
database_dir /usr/local/var/lib/couchdb
database_dir /usr/local/var/lib/couchdb_pat
view_index_dir /usr/local/var/lib/couchdb_pat
AND, for MIKE http://localhost:5985/_utils/config.html
database_dir /usr/local/var/lib/couchdb
database_dir /usr/local/var/lib/couchdb_pat
view_index_dir /usr/local/var/lib/couchdb_pat
BUT ... both show all the databases already existing in the default
/usr/local/var/lib/couchdb directory.
AND
If I create a new database from either PAT or MIKE URI
http://localhost:5984/_utils/index.html
http://localhost:5985/_utils/index.html
the new database winds up in the /usr/local/var/lib/couchdb
directory (and, as previously mentioned, either invocation
of couchdb can see all of the databases there).
If I comment out database_dir and view_index_dir in default.ini
then both invocations see the databases (in Futon Overview) as,
e.g.
couchdb/foo_db
couchdb/bar_db
Although each Futon Configuration shows only the respective
database_dir /usr/local/var/lib/couchdb_pat
view_index_dir /usr/local/var/lib/couchdb_pat
database_dir /usr/local/var/lib/couchdb_mike
view_index_dir /usr/local/var/lib/couchdb_mike
.
Logs are getting written per respective PAT and MIKE local ini files.
QUESTION:
How do I run more than one invocation of couchdb on a single machine
with database and process isolation ?
~Michael