couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Kocoloski (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COUCHDB-585) couchdb 0.10.0 with erlang 12b does not properly support replication from https:// couchdb
Date Mon, 30 Nov 2009 15:39:20 GMT

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

Adam Kocoloski commented on COUCHDB-585:
----------------------------------------

Hi Thomas, I believe Fedora 12 has R13B01 (correct me if I'm wrong).  I had a look at changelog
for the Erlang ssl app (http://erlang.org/download/otp_src_R13B01.readme) and found the rather
ominous

> OTP-8011  Packet handling was not implemented correctly.

If you're interested in doing some debugging, can you try using the R12B5 emulator but the
ssl app from R13B01?  You could do this any number of ways, for instance by copying the ssl-3.10.3
directory from the R13B install into the erlang/lib directory for CouchDB.

> couchdb 0.10.0 with erlang 12b does not properly support replication from https:// couchdb
> ------------------------------------------------------------------------------------------
>
>                 Key: COUCHDB-585
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-585
>             Project: CouchDB
>          Issue Type: Bug
>    Affects Versions: 0.10
>         Environment: Fedora 11, couchdb 0.10.0, erlang 0.12b
>            Reporter: Thomas Vander Stichele
>
> While trying to get desktopcouch sync to work with ubuntuone, I ran into a problem.
> After lots of debugging, and trying manual replication requests with curl, it seems that:
> - pushing (replicating a local db to https://couchdb.one.ubuntu.com/) works fine
> - pulling (replicating a remote db on https://couchdb.one.ubuntu.com/) fails
> I managed to reproduce this on a 'standard' couchdb run from the 0.10.x branch
> Here is the log on a pull request:
> [debug] [<0.59.0>] 'POST' /_replicate {1,1}
> Headers: [{'Accept',"*/*"},
>           {'Authorization',"Basic dGhvbWFzOnBhc3M="},
>           {'Content-Length',"328"},
>           {'Content-Type',"application/x-www-form-urlencoded"},
>           {'Host',"otto:5984"},
>           {'User-Agent',"curl/7.19.6 (x86_64-redhat-linux-gnu) libcurl/7.19.6 NSS/3.12.4.1
Beta zlib/1.2.3 libidn/1.9 libssh2/1.0"}]
> [debug] [<0.59.0>] OAuth Params: []
> [debug] [<0.68.0>] didn't find a replication log for https://couchdb.one.ubuntu.com/u%2F0a4%2F330%2F97870%2Fcontacts/
> [debug] [<0.68.0>] didn't find a replication log for contacts
> [debug] [<0.86.0>] retrying couch_rep_httpc get request in 0.5 seconds due to {error,
conn_failed}
> [debug] [<0.86.0>] retrying couch_rep_httpc get request in 1.0 seconds due to {error,
worker_is_dead}
> [debug] [<0.86.0>] retrying couch_rep_httpc get request in 2.0 seconds due to {error,
conn_failed}
> [debug] [<0.86.0>] retrying couch_rep_httpc get request in 4.0 seconds due to {error,
worker_is_dead}
> [debug] [<0.86.0>] retrying couch_rep_httpc get request in 8.0 seconds due to {error,
conn_failed}
> [debug] [<0.86.0>] retrying couch_rep_httpc get request in 16.0 seconds due to
{error, worker_is_dead}
> [debug] [<0.86.0>] retrying couch_rep_httpc get request in 32.0 seconds due to
{error, conn_failed}
> [debug] [<0.86.0>] retrying couch_rep_httpc get request in 64.0 seconds due to
{error, worker_is_dead}
> [debug] [<0.86.0>] retrying couch_rep_httpc get request in 128.0 seconds due to
{error, conn_failed}
> ^C
> (this typically goes on up to 512 seconds, at which time it finally gives up; meanwhile
the curl POST request hangs)
> To nail down the problem further, I then rebuilt Fedora 12's erlang package (which has
0.13b instead of 0.12b) and tried exactly the same; see the log:
> [thomas@otto 0.10.x]$ utils/run 
> Apache CouchDB 0.10.0 (LogLevel=debug) is starting.
> Configuration Settings ["/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/etc/couchdb/default_dev.ini",
>                         "/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/etc/couchdb/local_dev.ini"]:
>   [admins] thomas="-hashed-9d17d1c1b6968c2d1cd7e71c24c831b563b3974f,e613da727f909f1aa2a5fd0080ad9a06"
>   [couch_httpd_auth] authentication_db="users"
>   [couch_httpd_auth] require_valid_user="false"
>   [couch_httpd_auth] secret="replace this with a real secret in your local.ini file"
>   [couchdb] batch_save_interval="1000"
>   [couchdb] batch_save_size="1000"
>   [couchdb] database_dir="/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/tmp/lib"
>   [couchdb] delayed_commits="true"
>   [couchdb] max_attachment_chunk_size="4294967296"
>   [couchdb] max_dbs_open="100"
>   [couchdb] max_document_size="4294967296"
>   [couchdb] os_process_timeout="5000"
>   [couchdb] util_driver_dir="/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/src/couchdb/.libs"
>   [couchdb] view_index_dir="/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/tmp/lib"
>   [daemons] batch_save="{couch_batch_save_sup, start_link, []}"
>   [daemons] db_update_notifier="{couch_db_update_notifier_sup, start_link, []}"
>   [daemons] external_manager="{couch_external_manager, start_link, []}"
>   [daemons] httpd="{couch_httpd, start_link, []}"
>   [daemons] query_servers="{couch_query_servers, start_link, []}"
>   [daemons] stats_aggregator="{couch_stats_aggregator, start, []}"
>   [daemons] stats_collector="{couch_stats_collector, start, []}"
>   [daemons] view_manager="{couch_view, start_link, []}"
>   [httpd] WWW-Authenticate="Basic realm=\"administrator\""
>   [httpd] authentication_handlers="{couch_httpd_oauth, oauth_authentication_handler},
{couch_httpd_auth, default_authentication_handler}"
>   [httpd] bind_address="0.0.0.0"
>   [httpd] default_handler="{couch_httpd_db, handle_request}"
>   [httpd] port="5984"
>   [httpd_db_handlers] _changes="{couch_httpd_db, handle_changes_req}"
>   [httpd_db_handlers] _compact="{couch_httpd_db, handle_compact_req}"
>   [httpd_db_handlers] _design="{couch_httpd_db, handle_design_req}"
>   [httpd_db_handlers] _temp_view="{couch_httpd_view, handle_temp_view_req}"
>   [httpd_db_handlers] _view="{couch_httpd_view, handle_db_view_req}"
>   [httpd_db_handlers] _view_cleanup="{couch_httpd_db, handle_view_cleanup_req}"
>   [httpd_design_handlers] _info="{couch_httpd_db,   handle_design_info_req}"
>   [httpd_design_handlers] _list="{couch_httpd_show, handle_view_list_req}"
>   [httpd_design_handlers] _show="{couch_httpd_show, handle_doc_show_req}"
>   [httpd_design_handlers] _update="{couch_httpd_show, handle_doc_update_req}"
>   [httpd_design_handlers] _view="{couch_httpd_view, handle_view_req}"
>   [httpd_global_handlers] /="{couch_httpd_misc_handlers, handle_welcome_req, <<\"Welcome\">>}"
>   [httpd_global_handlers] _active_tasks="{couch_httpd_misc_handlers, handle_task_status_req}"
>   [httpd_global_handlers] _all_dbs="{couch_httpd_misc_handlers, handle_all_dbs_req}"
>   [httpd_global_handlers] _config="{couch_httpd_misc_handlers, handle_config_req}"
>   [httpd_global_handlers] _log="{couch_httpd_misc_handlers, handle_log_req}"
>   [httpd_global_handlers] _oauth="{couch_httpd_oauth, handle_oauth_req}"
>   [httpd_global_handlers] _replicate="{couch_httpd_misc_handlers, handle_replicate_req}"
>   [httpd_global_handlers] _restart="{couch_httpd_misc_handlers, handle_restart_req}"
>   [httpd_global_handlers] _session="{couch_httpd_auth, handle_session_req}"
>   [httpd_global_handlers] _sleep="{couch_httpd_misc_handlers, handle_sleep_req}"
>   [httpd_global_handlers] _stats="{couch_httpd_stats_handlers, handle_stats_req}"
>   [httpd_global_handlers] _user="{couch_httpd_auth, handle_user_req}"
>   [httpd_global_handlers] _utils="{couch_httpd_misc_handlers, handle_utils_dir_req, \"/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/share/www\"}"
>   [httpd_global_handlers] _uuids="{couch_httpd_misc_handlers, handle_uuids_req}"
>   [httpd_global_handlers] favicon.ico="{couch_httpd_misc_handlers, handle_favicon_req,
\"/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/share/www\"}"
>   [log] file="/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/tmp/log/couch.log"
>   [log] level="debug"
>   [query_server_config] reduce_limit="true"
>   [query_servers] javascript="/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/bin/couchjs_dev
/home/thomas/tmp/couchdb/couchdb/branches/0.10.x/share/server/main.js"
> Apache CouchDB has started. Time to relax.
> [info] [<0.1.0>] Apache CouchDB has started on http://0.0.0.0:5984/
> [debug] [<0.63.0>] 'POST' /_replicate {1,1}
> Headers: [{'Accept',"*/*"},
>           {'Authorization',"Basic dGhvbWFzOnBhc3M="},
>           {'Content-Length',"328"},
>           {'Content-Type',"application/x-www-form-urlencoded"},
>           {'Host',"otto:5984"},
>           {'User-Agent',"curl/7.19.6 (x86_64-redhat-linux-gnu) libcurl/7.19.6 NSS/3.12.4.1
Beta zlib/1.2.3 libidn/1.9 libssh2/1.0"}]
> [debug] [<0.63.0>] OAuth Params: []
> [debug] [<0.70.0>] didn't find a replication log for https://couchdb.one.ubuntu.com/u%2F0a4%2F330%2F97870%2Fcontacts/
> [debug] [<0.70.0>] didn't find a replication log for contacts
> [info] [<0.88.0>] source doesn't have _changes, trying _all_docs_by_seq
> [debug] [<0.88.0>] unexpected message at changes_feed {ibrowse_async_response,
>                                        {1259,582920,243218},
>                                        {error,closing_on_request}}
> [debug] [<0.88.0>] unexpected message at changes_feed {'EXIT',<0.89.0>,normal}
> [info] [<0.63.0>] starting new replication "743520107dc25678800df59476e4140b" at
<0.70.0>
> [debug] [<0.49.0>] New task status for 743520: https://couchdb.one.ubuntu.com/u%2F0a4%2F330%2F97870%2Fcontacts/
-> contacts: W Processed source update #1
> [debug] [<0.49.0>] New task status for 743520: https://couchdb.one.ubuntu.com/u%2F0a4%2F330%2F97870%2Fcontacts/
-> contacts: W Processed source update #6
> [info] [<0.70.0>] recording a checkpoint at source update_seq 6
> [debug] [<0.70.0>] replication doesn't need a full commit
> [debug] [<0.49.0>] New task status for 743520: https://couchdb.one.ubuntu.com/u%2F0a4%2F330%2F97870%2Fcontacts/
-> contacts: Finishing
> [info] [<0.63.0>] 192.168.1.12 - - 'POST' /_replicate 200
> [debug] [<0.69.0>] 'GET' /_utils/database.html?contacts {1,1}
> Headers: [{'Accept',"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"},
>           {'Accept-Charset',"ISO-8859-1,utf-8;q=0.7,*;q=0.7"},
>           {'Accept-Encoding',"gzip,deflate"},
>           {'Accept-Language',"en-us,nl-be;q=0.8,en;q=0.6,ca;q=0.4,es;q=0.2"},
>           {'Cache-Control',"max-age=0"},
>           {'Connection',"keep-alive"},
>           {'Cookie',"recent=contacts%2Cnotes%2Cgtd%2Cmanagement%2Cbookmarks%2C; management.view=_design/paired_servers/_view/paired_servers"},
>           {'Host',"localhost:5984"},
>           {'If-Modified-Since',"Fri, 23 Oct 2009 19:42:00 GMT"},
>           {'Keep-Alive',"300"},
>           {'Referer',"http://localhost:5984/_utils/index.html"},
>           {'User-Agent',"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.5) Gecko/20091105
Fedora/3.5.5-1.fc11 Firefox/3.5.5"}]
> [debug] [<0.69.0>] OAuth Params: [{"contacts",[]}]
> [info] [<0.69.0>] 127.0.0.1 - - 'GET' /_utils/database.html?contacts 304
> This time it did work.
> My conclusion is that for this feature to work, couchdb needs erlang 0.13b
> With erlang 0.12b, it fails non-intuitively and there is no way for desktopcouch to figure
out that erlang has a bug internally.

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


Mime
View raw message