[
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.