Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9CA579F37 for ; Tue, 3 Jan 2012 02:28:55 +0000 (UTC) Received: (qmail 83714 invoked by uid 500); 3 Jan 2012 02:28:54 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 83678 invoked by uid 500); 3 Jan 2012 02:28:54 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 83670 invoked by uid 99); 3 Jan 2012 02:28:53 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Jan 2012 02:28:53 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of dave@muse.net.nz designates 209.85.212.52 as permitted sender) Received: from [209.85.212.52] (HELO mail-vw0-f52.google.com) (209.85.212.52) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Jan 2012 02:28:48 +0000 Received: by vbbfk1 with SMTP id fk1so16271797vbb.11 for ; Mon, 02 Jan 2012 18:28:27 -0800 (PST) MIME-Version: 1.0 Received: by 10.52.71.168 with SMTP id w8mr24167541vdu.58.1325557707003; Mon, 02 Jan 2012 18:28:27 -0800 (PST) Received: by 10.52.30.46 with HTTP; Mon, 2 Jan 2012 18:28:26 -0800 (PST) X-Originating-IP: [84.172.65.189] In-Reply-To: <4F0216F0.2030502@gmail.com> References: <4F0216F0.2030502@gmail.com> Date: Tue, 3 Jan 2012 03:28:26 +0100 Message-ID: Subject: Re: upgrade on windows From: Dave Cottlehuber To: user@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 2 January 2012 21:43, Kevin R. Coombes wrote= : > Hi, > > I am currently running CouchDB 1.0.1 on a 64-bit Windows 7 machine. =A0I = know > this version is somewhat old, and I would like to upgrade to something > newer. =A0My main reason for wanting to upgrade is that I am currently un= able > to _replicate design documents along with the rest of the database > (regardless of where and how many times I supply the relevant admin > passwords...). Hi Kevin, "It works for me" using 1.0.2 and should be the same for 1.0.1. Apologies if this is simplistic, but: You don't happen to have any weird characters, or : or @ in your passwords? Can you make a new DB using curl -vX PUT $user@$passwd:$host/newdb ? Can you demonstrate the replication failure using curl.exe? The syntax, -vX POST output from curl, and both couch logs with debug logging enabled on a pastie site please if it fails. Refer to http://wiki.apache.org/couchdb/Quirks_on_Windows for quoting syntax under windows. > I tried previously to upgrade in place to something in the 1.1.x series, = and > after upgrading, all of my CouchApp databases appeared to have something > broken in the JavaScript related to the base URI. =A0So I backed out, > reinstalled the old version, and waited for an opportunity when I might h= ave > more time to figure out what was going on. =A0That time has arrived...and= so I > have a series of questions. > > [Question 1] > Does there exist somewhere a "feature comparison" between the 1.0.X and > 1.1.X series of builds? The Wiki installation page > (http://wiki.apache.org/couchdb/Installation) has a comparison of the > dependencies, but not the difference in features. #1 https://github.com/apache/couchdb/blob/1.1.1/CHANGES > The feature I am most interested in at the moment is that I would like my > existing CouchApp JavaScript code to continue to work.... Re JS changes, poking around in: https://github.com/apache/couchdb/tree/1.1.1/share/www/script and https://github.com/apache/couchdb/commits/1.1.1 should help. > The second most important feature is the ability to _replicate design > documents along with the rest of the database. =A0Preferably with instruc= tions > on how to do this, including details about when and where to supply admin > passwords. Supply admin passwords everywhere, at least where you need to write ddocs. If possible, use the same couchdb version at both ends. But 1.0.2 -> 1.1.1 works for me. Sacrifice a goat and get your replication - the same URLs should work in futon and via curl. unix style: curl -H "Content-Type: application/json" \ -vX POST http://admin:passwd@localhost:5984/_replicate \ -d '{"source":"newdb", "target":"http://admin:passwd@muse.iriscouch.com:5984/newdb"}' Windows style, using () to spread across lines in cmd.exe: d:\couch> (curl.exe -H "Content-Type: application/json" -vX POST http://admin:passwd@localhost:5984/_replicate -d "{\"source\":\"newdb\", \"target\": \"http://admin:passwd@muse.iriscouch.com:5984/newdb\"}") * About to connect() to localhost port 5984 (#0) * Connection refused * Trying 127.0.0.1... connected * Connected to localhost (127.0.0.1) port 5984 (#0) * Server auth using Basic with user 'admin' > POST /_replicate HTTP/1.1 > Authorization: Basic YWRtaW24fGFzc3dk > User-Agent: curl/7.21.1 (i386-pc-win32) libcurl/7.21.1 > Host: localhost:5984 > Accept: */* > Content-Type: application/json > Content-Length: 95 > < HTTP/1.1 200 OK < Server: CouchDB/1.0.2 (Erlang OTP/R14B) < Date: Tue, 03 Jan 2012 02:02:38 GMT < Content-Type: text/plain;charset=3Dutf-8 < Content-Length: 375 < Cache-Control: must-revalidate < {"ok":true,"session_id":"e59e8d658939d6b460dccb5d935139a5","source_last_seq= ":4,"history":[{"session_id":"e59e8d658939d6b460dccb5d935139a5"," start_time":"Tue, 03 Jan 2012 02:02:33 GMT","end_time":"Tue, 03 Jan 2012 02:02:36 GMT","start_last_seq":0,"end_last_seq":4,"recorded_seq":4, "missing_checked":0,"missing_found":1,"docs_read":1,"docs_written":1,"doc_w= rite_failures":0}]} * Connection #0 to host localhost left intact * Closing connection #0 > Which leads to > [Question 2] > Should I upgrade to 1.0.3 or to 1.1.1 to get the features I want? #2 In ignorance of your requirements I guess 1.0.3 will be closest in JS compatibility. But 1.1.1 has more features, better performance and the windows build uses the newer SpiderMonkey 1.8.5 js engine too. > [Question 3] > I have no interest in compiling CouchDB from source for this machine. =A0= The > Wiki pages "http://wiki.apache.org/couchdb/Installing_on_Windows" and > "http://wiki.apache.org/couchdb/Windows_binary_installer" point to at lea= st > three different sources of binary installers. One of those links (for > couchdb-1.0.2) is no longer valid, so it would be nice if someone removed > it. The other two links point to similar-looking pages on github. =A0It w= ould > be really helpful if someone would document what the differences are betw= een > these pages, and why two competitors exist. =A0It would be even more help= ful > if the community would declare one of them the "official" distributor for > Windows installers.... In any event, why should I pick one of these > distributors of windows binary installers over the other? #3 Wiki cleaned up, feel free to massage it further if needed. The main web= site will get tackled when I'm no longer "homeless" in Europe. Couchbase =3D commercial support & different feature set - e.g. geocouch re= ady. My builds =3D cut directly off Apache CouchDB source and regularly updated. I'll take your money too if you want. > [Questions 4 -- Infinity] > Is there an official guide or set of recommendations for upgrading? =A0Do= I > upgrade in place? Do I have to uninstall previous versions before install= ing > the new version? =A0If I uninstall, what gets left behind? >From http://wiki.apache.org/couchdb/Quirks_on_Windows, backup, uninstall/reinstall, restore. Your local.ini, var/* and etc/* will not be deleted by the uninsta= ller, and will unchanged and should just work in the new version, whichever you p= ick. For example, D:\couch\1.0.2>dir /s/b D:\couch\1.0.2\etc D:\couch\1.0.2\var D:\couch\1.0.2\etc\couchdb D:\couch\1.0.2\etc\couchdb\local.ini D:\couch\1.0.2\var\lib D:\couch\1.0.2\var\log D:\couch\1.0.2\var\lib\couchdb D:\couch\1.0.2\var\lib\couchdb\.delete D:\couch\1.0.2\var\lib\couchdb\couch.uri D:\couch\1.0.2\var\lib\couchdb\newdb.couch D:\couch\1.0.2\var\lib\couchdb\_users.couch D:\couch\1.0.2\var\log\couchdb D:\couch\1.0.2\var\log\couchdb\couch.log If you can afford the performance impact, I'd immediately compact if you have lots of docs, and on completion, trigger a view update (per ddoc) if you have large views. A+ Dave