You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Stefan Klein <st...@gmail.com> on 2014/03/10 15:15:48 UTC

Spread databases to multiple mountpoints

Hi,

i want to test hdd vs. ssd vs. dm-cache performance.
/var/lib/couchdb is located on my hdd, so i created /var/lib/couchdb/ssd
and /var/lib/couchdb/dmcache as mointpoints to mount my ssd and dmcache
device.

If I create a database "ssd/test" it works, the test.couch file is located
on the ssd. \o/
But when i try to delete it, i got a 500 response:
"{"error":"error","reason":"exdev"}"
(This is a debian box with the couchdb from sid)

Anybody done this before?
Is there a better workaround than to rm the file and restart couchdb?
(which will do for my testing)

regards,
Stefan

~$ curl -v  -X PUT 'http://root:***********localhost:5984/ssd%2Ftest'
* Connected to localhost (127.0.0.1) port 5984 (#0)
* Server auth using Basic with user 'root'
> PUT /ssd%2Ftest HTTP/1.1
> Authorization: Basic ***********
> User-Agent: curl/7.35.0
> Host: localhost:5984
> Accept: */*
>
< HTTP/1.1 201 Created
* Server CouchDB/1.4.0 (Erlang OTP/R16B03-1) is not blacklisted
< Server: CouchDB/1.4.0 (Erlang OTP/R16B03-1)
< Location: http://localhost:5984/ssd%2Ftest
< Date: Mon, 10 Mar 2014 14:03:06 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 12
< Cache-Control: must-revalidate
<
{"ok":true}
* Connection #0 to host localhost left intact
~$ curl -v  -X DELETE 'http://root:***********@localhost:5984/ssd%2Ftest'
* Connected to localhost (127.0.0.1) port 5984 (#0)
* Server auth using Basic with user 'root'
> DELETE /ssd%2Ftest HTTP/1.1
> Authorization: Basic ***********
> User-Agent: curl/7.35.0
> Host: localhost:5984
> Accept: */*
>
< HTTP/1.1 500 Internal Server Error
* Server CouchDB/1.4.0 (Erlang OTP/R16B03-1) is not blacklisted
< Server: CouchDB/1.4.0 (Erlang OTP/R16B03-1)
< Date: Mon, 10 Mar 2014 14:03:15 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 35
< Cache-Control: must-revalidate
<
{"error":"error","reason":"exdev"}
* Connection #0 to host localhost left intact

Re: Spread databases to multiple mountpoints

Posted by Paul Davis <pa...@gmail.com>.
Sounds like the delete rename thing is causing you problems. As of now
I don't think there's a good solution to mount other devices under the
database server. It'll work fine for normal operations though if
you're just trying to do performance testing.

On Mon, Mar 10, 2014 at 9:15 AM, Stefan Klein <st...@gmail.com> wrote:
> Hi,
>
> i want to test hdd vs. ssd vs. dm-cache performance.
> /var/lib/couchdb is located on my hdd, so i created /var/lib/couchdb/ssd
> and /var/lib/couchdb/dmcache as mointpoints to mount my ssd and dmcache
> device.
>
> If I create a database "ssd/test" it works, the test.couch file is located
> on the ssd. \o/
> But when i try to delete it, i got a 500 response:
> "{"error":"error","reason":"exdev"}"
> (This is a debian box with the couchdb from sid)
>
> Anybody done this before?
> Is there a better workaround than to rm the file and restart couchdb?
> (which will do for my testing)
>
> regards,
> Stefan
>
> ~$ curl -v  -X PUT 'http://root:***********localhost:5984/ssd%2Ftest'
> * Connected to localhost (127.0.0.1) port 5984 (#0)
> * Server auth using Basic with user 'root'
>> PUT /ssd%2Ftest HTTP/1.1
>> Authorization: Basic ***********
>> User-Agent: curl/7.35.0
>> Host: localhost:5984
>> Accept: */*
>>
> < HTTP/1.1 201 Created
> * Server CouchDB/1.4.0 (Erlang OTP/R16B03-1) is not blacklisted
> < Server: CouchDB/1.4.0 (Erlang OTP/R16B03-1)
> < Location: http://localhost:5984/ssd%2Ftest
> < Date: Mon, 10 Mar 2014 14:03:06 GMT
> < Content-Type: text/plain; charset=utf-8
> < Content-Length: 12
> < Cache-Control: must-revalidate
> <
> {"ok":true}
> * Connection #0 to host localhost left intact
> ~$ curl -v  -X DELETE 'http://root:***********@localhost:5984/ssd%2Ftest'
> * Connected to localhost (127.0.0.1) port 5984 (#0)
> * Server auth using Basic with user 'root'
>> DELETE /ssd%2Ftest HTTP/1.1
>> Authorization: Basic ***********
>> User-Agent: curl/7.35.0
>> Host: localhost:5984
>> Accept: */*
>>
> < HTTP/1.1 500 Internal Server Error
> * Server CouchDB/1.4.0 (Erlang OTP/R16B03-1) is not blacklisted
> < Server: CouchDB/1.4.0 (Erlang OTP/R16B03-1)
> < Date: Mon, 10 Mar 2014 14:03:15 GMT
> < Content-Type: text/plain; charset=utf-8
> < Content-Length: 35
> < Cache-Control: must-revalidate
> <
> {"error":"error","reason":"exdev"}
> * Connection #0 to host localhost left intact