[ 
https://issues.apache.org/jira/browse/COUCHDB-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12858450#action_12858450
 ] 

Jyrki Pulliainen commented on COUCHDB-743:
------------------------------------------

Seems like the 100 continue timeout. Below is the output of the curl


start:13:48:02.577094054
* About to connect() to 127.0.0.1 port 5984 (#0)
*   Trying 127.0.0.1... connected
* Connected to 127.0.0.1 (127.0.0.1) port 5984 (#0)
> PUT /test/0/attachment?rev=1-967a00dff5e02add41819138abb3284d HTTP/1.1
> User-Agent: curl/7.19.5 (i486-pc-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.8g 
> zlib/1.2.3.3 libidn/1.15
> Host: 127.0.0.1:5984
> Accept: */*     
> Content-Type: text/plain
> Content-Length: 1025
> Expect: 100-continue
>                 
* Done waiting for 100-continue
< HTTP/1.1 201 Created
< Server: CouchDB/0.10.0 (Erlang OTP/R13B)
< Location: http://127.0.0.1:5984/test/0/attachment
< Date: Mon, 19 Apr 2010 10:48:04 GMT
< Content-Type: text/plain;charset=utf-8
< Content-Length: 64
< Cache-Control: must-revalidate
<                 
{"ok":true,"id":"0","rev":"2-12b3cf68d8d3ef1279205787939e2e27"}
* Connection #0 to host 127.0.0.1 left intact
* Closing connection #0
end:13:48:04.596758573


> Sending attachments via new HTTP API is slow if attachment size is bigger 
> than 1024 bytes
> -----------------------------------------------------------------------------------------
>
>                 Key: COUCHDB-743
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-743
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Database Core, HTTP Interface
>    Affects Versions: 0.10, 0.10.1
>         Environment: Ubuntu Karmic (9.10) with CouchDB 0.10.0. According to 
> IRC conversations, also reproduced with 0.10.1
>            Reporter: Jyrki Pulliainen
>
> When using HTTP PUT to store attachments the request takes exactly one second 
> to finish when the attachment size is 1025 bytes or more. This behaviour does 
> not occur with inline attachments.
> Here's a bash script to reproduce the behaviour (requires curl and python >= 
> 2.6)
> #!/bin/sh
> size=1025
> curl -X DELETE http://localhost:5984/test
> curl -X PUT http://localhost:5984/test
> docid=0
> while true; do
>     rev=`curl -s -X PUT http://localhost:5984/test/$docid --data-binary '{}' 
> | python -c "import json; import sys; print json.load(sys.stdin)['rev']"`
>     echo -n "start:"; date '+%H:%M:%S.%N'
>     head -c $size /dev/urandom | curl -s -X PUT -H 'Content-Type: text/plain' 
> http://localhost:5984/test/$docid/attachment\?rev=$rev --data-binary @-
>     echo -n "end:"; date '+%H:%M:%S.%N'
>     docid=$(($docid+1))
> done

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to