You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Faidon Liambotis (JIRA)" <ji...@apache.org> on 2013/10/24 22:42:01 UTC

[jira] [Created] (CASSANDRA-6239) pidfile is never written, "/etc/init.d/cassandra stop" fails

Faidon Liambotis created CASSANDRA-6239:
-------------------------------------------

             Summary: pidfile is never written, "/etc/init.d/cassandra stop" fails
                 Key: CASSANDRA-6239
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6239
             Project: Cassandra
          Issue Type: Bug
          Components: Packaging
            Reporter: Faidon Liambotis


The init script tries, via start-stop-daemon, to write a pidfile to /var/run/cassandra/cassandra.pid. /var/run/cassandra doesn't exist (righftully so, /var/run can be a tmpfs), so the init script has this stanza above the start-stop-daemon invocation:
{code:none}
    [ -e `dirname "PIDFILE"` ] || \
        install -d -ocassandra -gcassandra -m750 `dirname $PIDFILE`
{code}

The first line is missing the dollar sign before the PIDFILE variable (i.e. it should be 'dirname "$PIDFILE"'). This has the effect that "dirname PIDFILE" is called, with the PIDFILE as a literal, which always returns "." as the output, which always exists, so the "install" call never gets executed, the directory never gets created and start-stop-daemon is unable to write the pidfile.

The pidfile is never written and "/etc/init.d/cassandra stop" never works.

Adding a $ before PIDFILE fixes the issue. This has been tested.



--
This message was sent by Atlassian JIRA
(v6.1#6144)