Chris Elder created COUCHDB-3409:
------------------------------------

             Summary: CouchDB has intermittent 30sec delays
                 Key: COUCHDB-3409
                 URL: https://issues.apache.org/jira/browse/COUCHDB-3409
             Project: CouchDB
          Issue Type: Bug
          Components: HTTP Interface
            Reporter: Chris Elder


CouchDB has intermittent 30 delays processing requests when CouchDB is 
installed in a docker image.  This occurs for PUT, POST and GET operations.

The following is a shell script used to replicate the error:
(the  database insert_test was created manually)

--------------------------
#!/bin/bash
for i in {1..500}
do
  echo "Test insert $i"
  curl -H 'Content-Type: application/json' \
            -X POST http://127.0.0.1:15984/insert_test \
            -d '{"name": "marble"}'
done
--------------------------

The following is an extract of the log showing a 30 second delay on a POST 
operation.

[notice] 2017-05-03T20:46:29.549696Z nonode@nohost <0.17192.22> de7d93ef52 
127.0.0.1:15984 10.0.2.2 undefined POST /connecttest 201 ok 4
[notice] 2017-05-03T20:47:00.397842Z nonode@nohost <0.17198.22> 8d31c7ad19 
127.0.0.1:15984 10.0.2.2 undefined POST /connecttest 201 ok 30838
[notice] 2017-05-03T20:47:00.414558Z nonode@nohost <0.17808.22> f75a66f6cb 
127.0.0.1:15984 10.0.2.2 undefined POST /connecttest 201 ok 3
[notice] 2017-05-03T20:47:00.437651Z nonode@nohost <0.17809.22> 0c53e2bbcf 
127.0.0.1:15984 10.0.2.2 undefined POST /connecttest 201 ok 13

The following is the default.ini used:
-----------------------------------------------
; CouchDB Configuration Settings

; Custom settings should be made in this file. They will override settings
; in default.ini, but unlike changes made to default.ini, this file won't be
; overwritten on server upgrade.

[chttpd]
bind_address = 0.0.0.0

[couchdb]
; Specify the location of the database in container.
; Optionally, these directories can be mounted in the host via docker.
database_dir = /opt/couchdb/data/
view_index_dir = /opt/couchdb/data/
uri_file = /opt/couchdb/data/couch.uri

; only allow the admin user to connect
; Uncomment the following statement to enable admin user security.
; default_security = admin_only

; allow delayed commits since peer manages savepoints and flushing to disk
delayed_commits = true

[cluster]
; peer maintains a single replica
n = 1

; adjust q to set the level of parallelism locally
; recommended to have no more than 10 million documents/shard (q)
; for 100 million documents, q=10 -- at a minimum
q = 8

[log]
writer = file
file = /opt/couchdb/logs/couchdb.log
level = info

; Uncomment the following two statements to enable admin user security.
; [httpd]
; www-authenticate = Basic realm="administrator"

[couch_httpd_auth]
; Uncomment the following statement to enable admin user security.
; require_valid_user = true
iterations = 1000 ; iterations for password hashing

; Uncomment the following two statements to enable admin user security.
; [admins]
; admin = admin

[attachments]
compressible_types = text/*, application/javascript, application/json, 
application/xml, application/octet-stream
-----------------------------------------------




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to