%include /usr/lib/rpm/macros.java
# TODO: Fix .init cassandra status does not work now.
-# TODO: Fix .init restarts, now seems stopping does not wait until cassandra is really stopped ?
+# TODO: Fix .init stop routine it is now subset of PLD default one
+# TODO: Fix of data/ cassandra created dirs/files privilages (now they are all readable)
+# TODO: Consider adding
+# cassandra - memlock unlimited
+# to /etc/security/limits.conf ?
%define shname cassandra
-%define rccode rc3
+%define rccode rc4
Summary: Cassandra database binary package
Summary(pl.UTF-8): Baza danych Cassandra wersja binarna.
Name: cassandra-bin
Version: 0.7.0
-Release: 0.%{rccode}.3
+Release: 0.%{rccode}.1
License: ASF
Group: Applications/Databases
Source0: http://mirror.nyi.net/apache//cassandra/%{version}/apache-cassandra-%{version}-%{rccode}-bin.tar.gz
-# Source0-md5: 8e5cfc07178cd57e05ef81cad18ef170
+# Source0-md5: 19b26eb1d25454a2da0731b769ab3066
Source1: cassandra.in.sh
Source2: %{shname}.init
URL: http://cassandra.apache.org/
# for jar in /usr/share/cassandra/*.jar; do
# CLASSPATH=$CLASSPATH:$jar
# done
-CLASSPATH=$CLASSPATH:/usr/share/cassandra/*
+CLASSPATH=$CLASSPATH:/usr/share/cassandra/*:/usr/share/java/*
# Check if the service is already running?
if [ ! -f /var/lock/subsys/cassandra ]; then
msg_starting cassandra
- daemon /usr/sbin/cassandra -p /var/run/cassandra.pid
+ daemon --user cassandra /usr/sbin/cassandra -p /var/run/cassandra/cassandra.pid
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/cassandra
else
if [ -f /var/lock/subsys/cassandra ]; then
# Stop daemons.
msg_stopping cassandra
- killproc --pidfile /var/run/cassandra.pid cassandra -TERM
- rm -f /var/lock/subsys/cassandra
+ # TODO: Fix it to work it properly with default PLD starting script scheme
+ # I do not know how to make
+ pid=$(cat /var/run/cassandra/cassandra.pid)
+ ## echo "DEBUG: Using pid=$pid."
+ kill -TERM $pid
+ # 0 - call succeed
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then # Success, giving some time for cassandra to flush.
+ checkpid $pid && sleep 1
+ checkpid $pid && sleep 3
+ checkpid $pid && sleep 5
+ if checkpid $pid; then
+ fail
+ log_failed "cassandra shutdown (timeout after -TERM)"
+ else
+ ok
+ log_success "cassandra shutdown"
+ fi
+ rm -f /var/lock/subsys/cassandra
+ else
+ # rm /var/lock/subsys/cassandra
+ fail
+ log_failed "cassandra shutdown (signalling error)"
+ fi
+ ## echo "DEBUG: kill retval: $RETVAL"
else
msg_not_running cassandra
fi