Re: [VOTE] Release Apache CouchDB 2.3.0-RC1
Hi Jay, Thanks, though your vote isn't a binding +1 :) Yes, this is a known situation -- and means you didn't fully follow the setup instructions correctly :D http://docs.couchdb.org/en/latest/setup/index.html We can suppress the error, but it doesn't solve the problem that a CouchDB install without a _users db doesn't really make a whole lot of sense. See - Original Message - > From: "Jay Doane" > To: "Joan Touzet" , dev@couchdb.apache.org > Sent: Monday, December 3, 2018 8:53:57 PM > Subject: Re: [VOTE] Release Apache CouchDB 2.3.0-RC1 > > Hi Joan, > > I tested on MacOS 10.13.6 and the only untoward thing I've seen seen > so far > is in the logs, this is repeated every 5s: > > [notice] 2018-11-30T22:43:54.596760Z couchdb@localhost <0.346.0> > > chttpd_auth_cache changes listener died database_does_not_exist at > mem3_shards:load_shards_from_db/6(line:395) <= > mem3_shards:load_shards_from_disk/1(line:370) <= > mem3_shards:load_shards_from_disk/2(line:399) <= > mem3_shards:for_docid/3(line:86) <= fabric_doc_open:go/3(line:39) <= > chttpd_auth_cache:ensure_auth_ddoc_exists/2(line:195) <= > chttpd_auth_cache:listen_for_changes/1(line:142) > [error] 2018-11-30T22:43:54.596823Z couchdb@localhost emulator > > Error in process <0.2569.0> on node couchdb@localhost with exit > value: > {database_does_not_exist,[{mem3_shards,load_shards_from_db,"_users",[{file,"src/mem3_shards.erl"},{line,395}]},{mem3_shards,load_shards_from_disk,1,[{file,"src/mem3_shards.erl"},{line,370}]},{mem3_shards,load_shards_from_disk,2,[{file,"src/mem3_shards.erl"},{line,399}]},{mem3_shards,for_docid,3,[{file,"src/mem3_shards.erl"},{line,86}]},{fabric_doc_open,go,3,[{file,"src/fabric_doc_open.erl"},{line,39}]},{chttpd_auth_cache,ensure_auth_ddoc_exists,2,[{file,"src/chttpd_auth_cache.erl"},{line,195}]},{chttpd_auth_cache,listen_for_changes,1,[{file,"src/chttpd_auth_cache.erl"},{line,142}]}]} > > until I create a _users db, after which it stops. It also stops as > soon as > setup completes, so I don't think this error is necessarily a problem > for > the release per se. > > I notice there's a closed ticket already for these errors at > https://github.com/apache/couchdb/issues/1354 but I have also been > tinkering with a solution that will prevent the change listener from > starting if the auth db doesn't exist. > > BR, > Jay > > On Thu, Nov 29, 2018 at 11:22 AM Joan Touzet > wrote: > > > Dear community, > > > > I would like to release Apache CouchDB 2.3.0-RC1. > > > > Changes since last round: > > > > * https://github.com/apache/couchdb/compare/2.2.0...2.3.0-RC1 > > > > Candidate release notes: > > > > * http://docs.couchdb.org/en/latest/whatsnew/2.3.html > > > > We encourage the whole community to download and test these release > > artefacts so that any critical issues can be resolved before the > > release is > > made. Everyone is free to vote on this release, so dig right in! > > > > The release artefacts we are voting on are available here: > > > > > > https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz > > > > https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.asc > > > > https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.sha256 > > > > https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.sha512 > > > > Please follow the test procedure here: > > > > > > https://cwiki.apache.org/confluence/display/COUCHDB/Testing+a+Source+Release > > > > Please remember that "RC1" is an annotation. If the vote passes, > > these > > artefacts will be released as Apache CouchDB 2.3.0. > > > > Please cast your votes now. > > > > Thanks, > > Joan "we promised and delivered 2 releases a year" Touzet > > >
Re: [VOTE] Release Apache CouchDB 2.3.0-RC1
Hi Joan, I tested on MacOS 10.13.6 and the only untoward thing I've seen seen so far is in the logs, this is repeated every 5s: [notice] 2018-11-30T22:43:54.596760Z couchdb@localhost <0.346.0> chttpd_auth_cache changes listener died database_does_not_exist at mem3_shards:load_shards_from_db/6(line:395) <= mem3_shards:load_shards_from_disk/1(line:370) <= mem3_shards:load_shards_from_disk/2(line:399) <= mem3_shards:for_docid/3(line:86) <= fabric_doc_open:go/3(line:39) <= chttpd_auth_cache:ensure_auth_ddoc_exists/2(line:195) <= chttpd_auth_cache:listen_for_changes/1(line:142) [error] 2018-11-30T22:43:54.596823Z couchdb@localhost emulator Error in process <0.2569.0> on node couchdb@localhost with exit value: {database_does_not_exist,[{mem3_shards,load_shards_from_db,"_users",[{file,"src/mem3_shards.erl"},{line,395}]},{mem3_shards,load_shards_from_disk,1,[{file,"src/mem3_shards.erl"},{line,370}]},{mem3_shards,load_shards_from_disk,2,[{file,"src/mem3_shards.erl"},{line,399}]},{mem3_shards,for_docid,3,[{file,"src/mem3_shards.erl"},{line,86}]},{fabric_doc_open,go,3,[{file,"src/fabric_doc_open.erl"},{line,39}]},{chttpd_auth_cache,ensure_auth_ddoc_exists,2,[{file,"src/chttpd_auth_cache.erl"},{line,195}]},{chttpd_auth_cache,listen_for_changes,1,[{file,"src/chttpd_auth_cache.erl"},{line,142}]}]} until I create a _users db, after which it stops. It also stops as soon as setup completes, so I don't think this error is necessarily a problem for the release per se. I notice there's a closed ticket already for these errors at https://github.com/apache/couchdb/issues/1354 but I have also been tinkering with a solution that will prevent the change listener from starting if the auth db doesn't exist. BR, Jay On Thu, Nov 29, 2018 at 11:22 AM Joan Touzet wrote: > Dear community, > > I would like to release Apache CouchDB 2.3.0-RC1. > > Changes since last round: > > * https://github.com/apache/couchdb/compare/2.2.0...2.3.0-RC1 > > Candidate release notes: > > * http://docs.couchdb.org/en/latest/whatsnew/2.3.html > > We encourage the whole community to download and test these release > artefacts so that any critical issues can be resolved before the release is > made. Everyone is free to vote on this release, so dig right in! > > The release artefacts we are voting on are available here: > > > https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz > > https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.asc > > https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.sha256 > > https://dist.apache.org/repos/dist/dev/couchdb/source/2.3.0/rc.1/apache-couchdb-2.3.0-RC1.tar.gz.sha512 > > Please follow the test procedure here: > > > https://cwiki.apache.org/confluence/display/COUCHDB/Testing+a+Source+Release > > Please remember that "RC1" is an annotation. If the vote passes, these > artefacts will be released as Apache CouchDB 2.3.0. > > Please cast your votes now. > > Thanks, > Joan "we promised and delivered 2 releases a year" Touzet >
Re: [VOTE] Release Apache CouchDB 2.3.0-RC1
Naomi wrote: > thanks Joan. that's valuable context. everything you said makes sense to me > did you see my follow up email about the failing test? not sure how to > proceed with that! No, it didn't make it to the list, can you try again? If you included an attachment that might have prevented it from arriving. Our test suite has a couple of tests that don't always pass 100% of the time, check the issues list on GitHub to see if it's been reported. If a re-run caused it to pass, that's about on par with the CI results at this time. -Joan On Sun, 2 Dec 2018 at 23:46, Joan Touzet < woh...@apache.org > wrote: Hi Naomi. Welcome back! Happy to answer these questions as best as I can, though others will have to provide additional info... > I would have expected `./configure` to alert me to the missing Erlang > dependency. certainly, in the world of Autoconf, checking for the > presence > of useable dependencies is one of the primary functions of the > `./configure` script Right, none of this is in the current setup. Pull requests welcome, but I really don't want to see a return to autoconf. The build process is MUCH simpler now without it. > fatal error: 'jsapi.h' file not found > #include > ^ > 1 error generated. > ERROR: compile failed while processing > /private/tmp/couchdb/dist/apache-couchdb-2.3.0/src/couch: rebar_abort > make: *** [couch] Error 1 > > so it seems like there's another dependency I don't have. but I can't > tell > just from looking at this error message what is missing Right, that'd be SpiderMonkey 1.8.5 (libmozjs185-1.0). This is getting increasingly difficult to build; Cloudant (Paul Davis) is working on substituting a new JS runtime from Microsoft (chakra-code) but it's a big undertaking. > 1. what do I need to do to get this working? Dependencies required are in the official docs: http://docs.couchdb.org/en/stable/install/unix.html#dependencies We also have scripts over in apache/couchdb-ci that should install all of the dependencies you need on Linux (bin/install-dependencies.sh), but no one has stepped up to enhance these scripts for dependencies on macOS / FreeBSD yet. (Windows is supported by the apache/couchdb-glazier repository.) > 2. I don't have any opinions re the removal of GNU Autoconf. I'm sure > there > was a reason, etc, etc. but it seems to me that the install > experience is > somewhat worse than the last time I looked at it. without the > dependency > checking in `./configure`, these messages are not a great first run > experience. is this a known issue? Yup, known issue - tragedy of the commons, I'm afraid. 2.x brought with it the bigcouch/Cloudant build chain, which is almost entirely rebar based. It's very nice - especially with how the release process works to build the self-contained Erlang runtime + all dependencies in a relocatable fashion. There's no need for 99% of what autoconf does anymore, since everything is handled within the Erlang build chain. If you look at the Makefile, you'll see it's really not much more than a shell script in Makefile format. I've worked very hard to get the 2.x build chain working as well as possible. Our CI system builds binary installers with every push to master for 4 flavours of Linux across multiple versions. The Windows build passes all tests (at least as often as Linux/macOS does) and the apache/couchdb-glazier repo (thanks Dave!) makes building Windows binaries a snap, too. Jan has kicked in his macOS build script for binaries there, though we haven't yet brought that repo into the Apache org (mostly because I think no one has stepped up to maintain it going forward yet.) And finally, we build Docker images with every release and support the downstream official Docker image with a Dockerfile that is in widespread use. > I'm aware there are installation guides. but a new user might not be. Our download stats show that, overwhelmingly, people install from the binaries we build, or use Docker. Those downloads account for more than 99.99% of the installs of CouchDB. The numbers are something like over a million downloads of Docker + the binaries over the course of a year, but merely thousands of downloads of the source tarball in the same time frame. Since the entire build infrastructure has fallen to me, and since it's seemingly only developers that seem to need to have a properly installed build chain, and since my time on CouchDB is solely as a volunteer, I've put my efforts into maintaining and improving the CI- focused scripts, while ensuring that they are also useful for devs who want to use them to set up their own workstations with the required dependencies. Once we have support for the remaining platforms, I'm of the mindset that we recommend people use those scripts to set up their build environment - or to read them should they not wish to run them themselves. But I'm open to other ideas - if hands are o