On 2011/12/21 (Dec), at 3:52 PM, Marty Schoch wrote: > Hi Robert,
Hey Marty, thanks for you reply. > If your issue only affects Couchbase Mobile, you may get better > support discussing the issues here: > > https://groups.google.com/forum/#!forum/mobile-couchbase I've isolated it to couchdb, and am positive it will (or would have) effected future releases too; the complicating factor is that couchbase uses pre-release versions of couchdb. > 2. If you access the root URL of the Couchbase Mobile you should see > a response like: > > { > "couchdb": "Welcome", > "version": "1.2.0a-7b47329-git" > } I tried doing this, but I think couchbase is substituting it's own version number here; with ios I get: { "couchdb":"Welcome", "version":"2.0.0-beta" } Which to me is non-sensical, because there are no tags resembling "2.0.0" in couchdb, and not very helpful (because there is no hash like in your example)... > 3. Couchbase Mobile is completely open source. The binaries we ship > are built from the source on github. Some of the confusion may be > that Couchbase Mobile includes more than just CouchDB. I think that is much of the confusion, along with unfamiliarity with the build system in use. > 4. At the moment I'm not aware of any other implementations. I've found some references to others doing what I am: http://stackoverflow.com/questions/8309521/using-couchdb-pull-replication-from-a-read-only-server http://mail-archives.apache.org/mod_mbox/couchdb-user/201106.mbox/%3C4DFFB8BD.2010508%40gmail.com%3E http://thanksmister.com/2009/03/28/http-status-201-causing-flex-2032-error-in-ie-only/ And.... after several hours of reading erlang how-tos & trying to "decode" two functions, I found my error. In: src/couch_replicator/src/couch_replicator_api_wrap.erl (about line 126) ensure_full_commit(#httpdb{} = Db) -> send_req( Db, [{method, post}, {path, "_ensure_full_commit"}, {headers, [{"Content-Type", "application/json"}]}], fun(201, _, {Props}) -> {ok, get_value(<<"instance_start_time">>, Props)}; (_, _, {Props}) -> {error, get_value(<<"error">>, Props)} end); I found that the couchdb source expects a 201 http status, whereas the docs I was following indicate a 200 status: http://www.couchbase.org/sites/default/files/uploads/all/documentation/couchbase-api-db.html#couchbase-api-db_db-ensure-full-commit_post So (if I understand the symptom of the "terrible error message") the 'undefined' was coming from a helper-function trying to extract a non-existant error message (because it was successful, but did not match the 201 code). I'm not sure what (if any) change needs to occur, but "undefined" is a poor error message IMO. :) -- Robert Hailey
