Browse Source

ZOOKEEPER-1406. dpkg init scripts don't restart - missing check_priv_sep_dir (Chris Beauchamp via phunt)

git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1302069 13f79535-47bb-0310-9956-ffa450edef68
Patrick D. Hunt 13 years ago
parent
commit
9fcfbd4922
2 changed files with 17 additions and 3 deletions
  1. 3 0
      CHANGES.txt
  2. 14 3
      src/packages/deb/init.d/zookeeper

+ 3 - 0
CHANGES.txt

@@ -153,6 +153,9 @@ BUGFIXES:
   thrown from setACL command through client (Kavita Sharma via phunt)
   thrown from setACL command through client (Kavita Sharma via phunt)
  
  
   ZOOKEEPER-1390. some expensive debug code not protected by a check for debug (breed via camille)
   ZOOKEEPER-1390. some expensive debug code not protected by a check for debug (breed via camille)
+
+  ZOOKEEPER-1406. dpkg init scripts don't restart - missing
+  check_priv_sep_dir (Chris Beauchamp via phunt)
    
    
 IMPROVEMENTS:
 IMPROVEMENTS:
 
 

+ 14 - 3
src/packages/deb/init.d/zookeeper

@@ -34,7 +34,17 @@ umask 022
 
 
 . /lib/lsb/init-functions
 . /lib/lsb/init-functions
 
 
-ZOOPIDFILE=/var/lib/zookeeper/data/zookeeper_server.pid
+ZOOPIDDIR=/var/lib/zookeeper/data
+ZOOPIDFILE=${ZOOPIDDIR}/zookeeper_server.pid
+
+check_privsep_dir() {
+    # Create the PrivSep empty dir if necessary
+    if [ ! -d ${ZOOPIDDIR} ]; then
+	mkdir -p ${ZOOPIDDIR}
+        chown zookeeper:hadoop ${ZOOPIDDIR}
+	chmod 0775 ${ZOOPIDDIR} 
+    fi
+}
 
 
 # Are we running from init?
 # Are we running from init?
 run_by_init() {
 run_by_init() {
@@ -59,6 +69,7 @@ export PATH="${PATH:+$PATH:}/usr/sbin:/usr/bin"
 case "$1" in
 case "$1" in
   start)
   start)
 	check_for_no_start
 	check_for_no_start
+	check_privsep_dir
 	log_daemon_msg "Starting Apache ZooKeeper server" "zookeeper"
 	log_daemon_msg "Starting Apache ZooKeeper server" "zookeeper"
 	if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/sbin/zkServer.sh start; then
 	if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/sbin/zkServer.sh start; then
 	    log_end_msg 0
 	    log_end_msg 0
@@ -80,7 +91,7 @@ case "$1" in
 	log_daemon_msg "Restarting Apache ZooKeeper server" "zookeeper"
 	log_daemon_msg "Restarting Apache ZooKeeper server" "zookeeper"
 	start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${ZOOPIDFILE}
 	start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile ${ZOOPIDFILE}
 	check_for_no_start log_end_msg
 	check_for_no_start log_end_msg
-	if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/bin/zkServer.sh start; then
+	if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/sbin/zkServer.sh start; then
 	    log_end_msg 0
 	    log_end_msg 0
 	else
 	else
 	    log_end_msg 1
 	    log_end_msg 1
@@ -98,7 +109,7 @@ case "$1" in
 	    0)
 	    0)
 		# old daemon stopped
 		# old daemon stopped
 		check_for_no_start log_end_msg
 		check_for_no_start log_end_msg
-		if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/bin/zkServer.sh start; then
+		if start-stop-daemon --start --quiet --oknodo --pidfile ${ZOOPIDFILE} -c zookeeper -x ${ZOOKEEPER_PREFIX}/sbin/zkServer.sh start; then
 		    log_end_msg 0
 		    log_end_msg 0
 		else
 		else
 		    log_end_msg 1
 		    log_end_msg 1