Bug 1813954 - Couchdb 3.0 does not start
Summary: Couchdb 3.0 does not start
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: couchdb
Version: 32
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Peter Lemenkov
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-03-16 14:45 UTC by Anne Summers
Modified: 2021-05-25 17:18 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-25 17:18:19 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Anne Summers 2020-03-16 14:45:34 UTC
Description of problem:
Today I found out that couchdb was upgraded to 3.0

Installing:
couchdb  x86_64 3.0.0-1.fc31 updates                                                        

Installed:
  couchdb-3.0.0-1.fc31.x86_64                  erlang-asn1-22.2.8-1.fc31.x86_64                      erlang-basho_stats-1.0.4-10.fc31.noarch    erlang-bear-0.8.7-4.fc31.noarch         erlang-compiler-22.2.8-1.fc31.x86_64                  
  erlang-crypto-22.2.8-1.fc31.x86_64           erlang-erts-22.2.8-1.fc31.x86_64                      erlang-eunit-22.2.8-1.fc31.x86_64          erlang-folsom-0.8.7-4.fc31.noarch       erlang-hamcrest-0.1.0-13.fc31.noarch                  
  erlang-hipe-22.2.8-1.fc31.x86_64             erlang-hyper-0-0.12.20161011git4b1abc4.fc31.x86_64    erlang-ibrowse-4.4.1-3.fc31.noarch         erlang-inets-22.2.8-1.fc31.x86_64       erlang-jiffy-1.0.1-2.fc31.x86_64                      
  erlang-kernel-22.2.8-1.fc31.x86_64           erlang-meck-0.8.13-4.fc31.noarch                      erlang-mnesia-22.2.8-1.fc31.x86_64         erlang-mochiweb-2.20.1-1.fc31.noarch    erlang-public_key-22.2.8-1.fc31.x86_64                
  erlang-runtime_tools-22.2.8-1.fc31.x86_64    erlang-snappy-1.1.1-0.16.git348da43.fc31.x86_64       erlang-ssl-22.2.8-1.fc31.x86_64            erlang-stdlib-22.2.8-1.fc31.x86_64      erlang-stdlib2-0-0.7.20180928git4cf3a70.fc31.noarch

Version-Release number of selected component (if applicable):
[panda@sunnydale ~]$   rpm -qa couchdb
couchdb-3.0.0-1.fc31.x86_64

How reproducible:
 After installing, couchdb does not start

Steps to Reproduce:
1. sudo systemctl start couchdb
2. or /usr/bin/couchdb
3.

Actual results:
panda@sunnydale ~]$ sudo systemctl start couchdb
Job for couchdb.service failed because the control process exited with error code.
See "systemctl status couchdb.service" and "journalctl -xe" for details.
[panda@sunnydale ~]$ sudo systemctl status couchdb
● couchdb.service - CouchDB Server
   Loaded: loaded (/usr/lib/systemd/system/couchdb.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2020-03-16 09:39:53 CDT; 8s ago
  Process: 828955 ExecStart=/usr/libexec/couchdb +Bd -noinput -sasl errlog_type error +K true +A 4 -couch_ini /etc/couchdb/default.ini /etc/couchdb/default.d/ /etc/couchdb/local.d/ /etc/couchdb/local.ini -s couch -pidfile /var/run/couchd>
 Main PID: 828955 (code=exited, status=1/FAILURE)
      CPU: 204ms

Mar 16 09:39:53 sunnydale-ibm-com systemd[1]: couchdb.service: Scheduled restart job, restart counter is at 5.
Mar 16 09:39:53 sunnydale-ibm-com systemd[1]: Stopped CouchDB Server.
Mar 16 09:39:53 sunnydale-ibm-com systemd[1]: couchdb.service: Start request repeated too quickly.
Mar 16 09:39:53 sunnydale-ibm-com systemd[1]: couchdb.service: Failed with result 'exit-code'.
Mar 16 09:39:53 sunnydale-ibm-com systemd[1]: Failed to start CouchDB Server.
Mar 16 09:39:58 sunnydale-ibm-com systemd[1]: couchdb.service: Start request repeated too quickly.
Mar 16 09:39:58 sunnydale-ibm-com systemd[1]: couchdb.service: Failed with result 'exit-code'.
Mar 16 09:39:58 sunnydale-ibm-com systemd[1]: Failed to start CouchDB Server.

[panda@sunnydale ~]$ /usr/bin/couchdb 
cat: /usr/bin/../releases/start_erl.data: No such file or directory
/usr/bin/couchdb: line 47: /usr/bin/../erts-/bin/erlexec: No such file or directory


Expected results:
Couchdb running

Additional info:
I have been using https://github.com/adrienverge/copr-couchdb/ without problems and to the best of my knowledge I have removed all the files provided by that installation 

Also I found this old couchdb github issue that has a similar issue:
https://github.com/apache/couchdb/issues/2151

Comment 1 Yury Bulka 2020-04-21 19:54:09 UTC
The couchdb startup script seems to be incompatible with the current filesystem layout of the package; it seems to expect to be somewhere inside erlang's directories AFAIKT.

There is another unfortunate detail - couchdb 3 can't import couchdb 1's databases according to the documentation:
https://docs.couchdb.org/en/latest/install/upgrading.html#upgrading-from-couchdb-1-x

So you need to upgrade to 2 first, then to 3.

For those looking for a quick workaround - I ended up running couchdb 3 via docker on fedora; this could also help if you need to import databases from v1 - there is a docker image for v2:
https://hub.docker.com/_/couchdb/

Beware that docker *also* has a problem on fedora 31, which luckily can be mitigated with a kernel command line switch:
https://bugzilla.redhat.com/show_bug.cgi?id=1757078

(*And* I couldn't get the couchdb 3 image running in podman :()

An unfortunate combination of problems, but I'm at least running couchdb 3 now.

Comment 2 Anne Summers 2020-04-29 05:27:28 UTC
Similar situation on a clean Fedora 32 install. 
[root@localhost-live panda]# sudo systemctl start couchdb.service
Job for couchdb.service failed because the control process exited with error code.
See "systemctl status couchdb.service" and "journalctl -xe" for details.



$journalctl  -xe
- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- The unit couchdb.service has entered the 'failed' state with result 'exit-code'.
Apr 29 00:25:47 localhost-live systemd[1]: Failed to start CouchDB Server.
-- Subject: A start job for unit couchdb.service has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- A start job for unit couchdb.service has finished with a failure.
-- 
-- The job identifier is 5936 and the job result is failed.
Apr 29 00:25:47 localhost-live audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=couchdb comm="systemd" exe="/usr/lib/systemd/systemd" ho>
Apr 29 00:25:47 localhost-live systemd[1]: couchdb.service: Scheduled restart job, restart counter is at 5.
-- Subject: Automatic restarting of a unit has been scheduled
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Automatic restarting of the unit couchdb.service has been scheduled, as the result for
-- the configured Restart= setting for the unit.
Apr 29 00:25:47 localhost-live audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=couchdb comm="systemd" exe="/usr/lib/systemd/systemd" ho>
Apr 29 00:25:47 localhost-live audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=couchdb comm="systemd" exe="/usr/lib/systemd/systemd" hos>
Apr 29 00:25:47 localhost-live systemd[1]: Stopped CouchDB Server.
-- Subject: A stop job for unit couchdb.service has finished
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- A stop job for unit couchdb.service has finished.
-- 
-- The job identifier is 6023 and the job result is done.
Apr 29 00:25:47 localhost-live systemd[1]: couchdb.service: Start request repeated too quickly.
Apr 29 00:25:47 localhost-live systemd[1]: couchdb.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- The unit couchdb.service has entered the 'failed' state with result 'exit-code'.
Apr 29 00:25:47 localhost-live systemd[1]: Failed to start CouchDB Server.
-- Subject: A start job for unit couchdb.service has failed
-- Defined-By: systemd
-- Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- A start job for unit couchdb.service has finished with a failure.
-- 
-- The job identifier is 6023 and the job result is failed.

Comment 3 Adrien Vergé 2020-04-29 06:26:11 UTC
Peter, this CouchDB 3.0 package doesn't seem to work for anybody. Can you un-push it?

It's annoying for people that have CouchDB 1 or 2 installed and working, because dnf regularly tries to update to this broken version.
For those in this case: it's possible to add `exclude=couchdb-3*` inside `/etc/yum.repos.d/fedora-updates.repo`.

Comment 4 Anne Summers 2020-04-29 16:17:57 UTC
Yury mentioned "The couchdb startup script seems to be incompatible with the current filesystem layout of the package; it seems to expect to be somewhere inside erlang's directories AFAIKT." Would this be something we can look at? I do have the VM to play around with Fedora 32 so I can maybe spend some time looking over it.

I do need to have couchdb running on my work laptop so the lack of this package prevents me to upgrade to 32. Maybe Adrien will provide packages on his copr for 32 and that is great too but still I think this should be solved in a better way.

Comment 5 Adrien Vergé 2020-04-30 10:17:14 UTC
That's a good idea. I looked into that and produced CouchDB 2.3.1 packages for Fedora 32 (same repo: https://copr.fedorainfracloud.org/coprs/adrienverge/couchdb/).

It was a bit a struggle and took me a few hours, because Erlang 21 is not packaged anymore on Fedora >= 30 (and the SRPM doesn't compile anymore, either). An official (working) CouchDB package would be awesome!

Comment 6 Anne Summers 2020-04-30 20:28:48 UTC
Adding it to fedora-updates.repo didn't work for me but I added on /etc/dnf/dnf/conf

[root@localhost panda]# dnf update
Last metadata expiration check: 0:01:33 ago on Thu 30 Apr 2020 03:25:41 PM CDT.
Dependencies resolved.
Nothing to do.
Complete!
[root@localhost panda]# cat /etc/dnf/dnf.conf 
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=False
skip_if_unavailable=True
exclude=couchdb-3*
[root@localhost panda]#

Comment 7 Anne Summers 2020-04-30 20:30:46 UTC
Does anyone know who is the 'owner' of this package in Fedora? Is this the correct place to report these issues? Because it is somewhat related to my job I can probably justify
spending some time finding a solution for this :)

Comment 8 Adrien Vergé 2020-04-30 20:54:07 UTC
> Does anyone know who is the 'owner' of this package in Fedora?

I think it's Peter Lemenkov, you can find his email address in the CC list above. He does a great job maintaining many Erlang packages for Fedora; however, I believe pushing this one (CouchDB 3.0) was a mistake.

Comment 9 Fedora Admin user for bugzilla script actions 2020-11-22 14:52:16 UTC
This package has changed maintainer in the Fedora.
Reassigning to the new maintainer of this component.

Comment 10 Fedora Admin user for bugzilla script actions 2020-12-03 02:52:29 UTC
This package has changed maintainer in the Fedora.
Reassigning to the new maintainer of this component.

Comment 11 Fedora Program Management 2021-04-29 16:52:35 UTC
This message is a reminder that Fedora 32 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 32 on 2021-05-25.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '32'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 32 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 12 Ben Cotton 2021-05-25 17:18:19 UTC
Fedora 32 changed to end-of-life (EOL) status on 2021-05-25. Fedora 32 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.