Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-19479

Issue with discovering service status for CE on Linux

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 5.0.0
    • 4.0.0
    • installer
    • None
    • Triaged
    • Unknown

    Description

      I have found a bug that is pretty important to testing service status whether up or down.
      If you look at the init.d/couchbase-server file this is how it looks on communtiy:

      PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
      DAEMON=/opt/couchbase/bin/couchbase-server 
      PIDFILE=/opt/couchbase/var/lib/couchbase/couchbase-server-community.pid 
      NODEFILE=/opt/couchbase/var/lib/couchbase/couchbase-server-community.node 
      COOKIEFILE=/opt/couchbase/var/lib/couchbase/couchbase-server-community.cookie
      test -f $DAEMON || exit 0
      enterprise:
      PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
      DAEMON=/opt/couchbase/bin/couchbase-server 
      PIDFILE=/opt/couchbase/var/lib/couchbase/couchbase-server.pid 
      NODEFILE=/opt/couchbase/var/lib/couchbase/couchbase-server.node 
      COOKIEFILE=/opt/couchbase/var/lib/couchbase/couchbase-server.cookie
      test -f $DAEMON || exit 0
      I'm showing the status of a enterprise server and communtiy server:
      community: 
      [root@simple-server-centos-67 init.d]# service couchbase-server status 
      couchbase-server-community is not running
      [root@simple-server-centos-67 init.d]# /etc/init.d/couchbase-server status 
      couchbase-server-community is not running
      [root@simple-server-centos-67 init.d]# ps -ef | grep -i couchbase-server 
      497 3209 1 0 09:52 ? 00:00:01 /opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/bin/beam.smp -A 16 -- -root /opt/couchbase/lib/erlang -progname erl -- -home /opt/couchbase -- -smp enable -kernel inet_dist_listen_min 21100 inet_dist_listen_max 21299 error_logger false -sasl sasl_error_logger false -hidden -name babysitter_of_ns_1@127.0.0.1 -setcookie nocookie -- -noshell -noinput -noshell -noinput -run ns_babysitter_bootstrap -- -couch_ini /opt/couchbase/etc/couchdb/default.ini /opt/couchbase/etc/couchdb/default.d/capi.ini /opt/couchbase/etc/couchdb/default.d/geocouch.ini /opt/couchbase/etc/couchdb/local.ini -ns_babysitter cookiefile "/opt/couchbase/var/lib/couchbase/couchbase-server.cookie" -ns_server config_path "/opt/couchbase/etc/couchbase/static_config" -ns_server pidfile "/opt/couchbase/var/lib/couchbase/couchbase-server.pid" -ns_server cookiefile "/opt/couchbase/var/lib/couchbase/couchbase-server.cookie-ns-server" -ns_server enable_mlockall false
      enterprise: 
      [root@i-9f6ef918 init.d]# service couchbase-server status 
      couchbase-server is running
      [root@i-9f6ef918 init.d]# /etc/init.d/couchbase-server status 
      couchbase-server is running
      [root@i-9f6ef918 init.d]# ps -ef | grep -i couchbase-server 
      394 6061 1 0 Apr27 ? 00:00:14 /opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/bin/beam.smp -A 16 -- -root /opt/couchbase/lib/erlang -progname erl -- -home /opt/couchbase -- -smp enable -kernel inet_dist_listen_min 21100 inet_dist_listen_max 21299 error_logger false -sasl sasl_error_logger false -hidden -name babysitter_of_ns_1@127.0.0.1 -setcookie nocookie -- -noshell -noinput -noshell -noinput -run ns_babysitter_bootstrap -- -couch_ini /opt/couchbase/etc/couchdb/default.ini /opt/couchbase/etc/couchdb/default.d/capi.ini /opt/couchbase/etc/couchdb/default.d/geocouch.ini /opt/couchbase/etc/couchdb/local.ini -ns_babysitter cookiefile "/opt/couchbase/var/lib/couchbase/couchbase-server.cookie" -ns_server config_path "/opt/couchbase/etc/couchbase/static_config" -ns_server pidfile "/opt/couchbase/var/lib/couchbase/couchbase-server.pid" -ns_server cookiefile "/opt/couchbase/var/lib/couchbase/couchbase-server.cookie-ns-server" -ns_server enable_mlockall false
      As you can see both server are running but community says it is not running because it is looking in the couchbase-server-community.pid file in 
      /opt/couchbase/var/lib/couchbase/
      community:
      [root@simple-server-centos-67 couchbase]# ll couchbase-server* 
      -rw-r--r--. 1 couchbase root 0 Apr 29 09:52 couchbase-server-community.cookie 
      -rw-r--r--. 1 couchbase root 0 Apr 29 09:52 couchbase-server-community.node 
      -rw-r--r--. 1 couchbase root 0 Apr 29 09:52 couchbase-server-community.pid 
      -rw-rw----. 1 couchbase couchbase 17 Apr 29 09:52 couchbase-server.cookie 
      -rw-rw----. 1 couchbase couchbase 17 Apr 29 09:52 couchbase-server.cookie-ns-server 
      -rw-rw----. 1 couchbase couchbase 15 Apr 29 09:52 couchbase-server.node 
      -rw-rw----. 1 couchbase couchbase 5 Apr 29 09:52 couchbase-server.pid
      [root@simple-server-centos-67 couchbase]# cat couchbase-server.pid 
      3276
      [root@simple-server-centos-67 couchbase]# cat couchbase-server-community.pid 
      [root@simple-server-centos-67 couchbase]#
      enterprise:
      [root@i-9f6ef918 couchbase]# ll couchbase-server* 
      -rw-rw----. 1 couchbase couchbase 17 Apr 27 15:46 couchbase-server.cookie 
      -rw-rw----. 1 couchbase couchbase 17 Apr 27 15:46 couchbase-server.cookie-ns-server 
      -rw-rw----. 1 couchbase couchbase 15 Apr 27 15:46 couchbase-server.node 
      -rw-r--r--. 1 couchbase root 5 Apr 27 15:46 couchbase-server.pid
      [root@i-9f6ef918 couchbase]# cat couchbase-server.pid 
      6093
      

      This prevents you from knowing if community is running correct after you may do restarts. It also doesn't allow for good testing with automation in chefspec or severspec. If you try to stop the service with chef it already thinks it is stopped when it is not and then testing the command gives a failure because it wasn't stopped.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            eben Eben Haber
            cihan Cihan Biyikoglu (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty