You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2012/04/26 19:30:14 UTC
svn commit: r1330983 - in /hbase/trunk: bin/hbase-daemon.sh
src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Author: stack
Date: Thu Apr 26 17:30:13 2012
New Revision: 1330983
URL: http://svn.apache.org/viewvc?rev=1330983&view=rev
Log:
HBASE-5844 Delete the region servers znode after a regions server crash; REVERT
Modified:
hbase/trunk/bin/hbase-daemon.sh
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Modified: hbase/trunk/bin/hbase-daemon.sh
URL: http://svn.apache.org/viewvc/hbase/trunk/bin/hbase-daemon.sh?rev=1330983&r1=1330982&r2=1330983&view=diff
==============================================================================
--- hbase/trunk/bin/hbase-daemon.sh (original)
+++ hbase/trunk/bin/hbase-daemon.sh Thu Apr 26 17:30:13 2012
@@ -32,15 +32,6 @@
#
# Modelled after $HADOOP_HOME/bin/hadoop-daemon.sh
-cleanZNode() {
- if [ -f $HBASE_ZNODE_FILE ]; then
- #call ZK to delete the node
- ZNODE=`cat $HBASE_ZNODE_FILE`
- echo "Region Server $HBASE_ZNODE_FILE didn't stop properly. Cleaning ZNode ($ZNODE) to trigger an immediate recovery."
- $bin/hbase zkcli delete $ZNODE > /dev/null 2>&1
- fi
-}
-
usage="Usage: hbase-daemon.sh [--config <conf-dir>]\
(start|stop|restart) <hbase-command> \
<args...>"
@@ -105,7 +96,7 @@ fi
mkdir -p "$HBASE_LOG_DIR"
if [ "$HBASE_PID_DIR" = "" ]; then
- export HBASE_PID_DIR=/tmp
+ HBASE_PID_DIR=/tmp
fi
if [ "$HBASE_IDENT_STRING" = "" ]; then
@@ -130,7 +121,6 @@ logout=$HBASE_LOG_DIR/$HBASE_LOG_PREFIX.
loggc=$HBASE_LOG_DIR/$HBASE_LOG_PREFIX.gc
loglog="${HBASE_LOG_DIR}/${HBASE_LOGFILE}"
pid=$HBASE_PID_DIR/hbase-$HBASE_IDENT_STRING-$command.pid
-export HBASE_ZNODE_FILE=$HBASE_PID_DIR/hbase-$HBASE_IDENT_STRING-$command.znode
if [ "$HBASE_USE_GC_LOGFILE" = "true" ]; then
export HBASE_GC_OPTS=" -Xloggc:${loggc}"
@@ -158,9 +148,9 @@ case $startStop in
# Add to the command log file vital stats on our environment.
echo "`date` Starting $command on `hostname`" >> $loglog
echo "`ulimit -a`" >> $loglog 2>&1
- (nohup nice -n $HBASE_NICENESS "$HBASE_HOME"/bin/hbase \
+ nohup nice -n $HBASE_NICENESS "$HBASE_HOME"/bin/hbase \
--config "${HBASE_CONF_DIR}" \
- $command "$@" $startStop > "$logout" 2>&1 < /dev/null ; cleanZNode) &
+ $command "$@" $startStop > "$logout" 2>&1 < /dev/null &
echo $! > $pid
sleep 1; head "$logout"
;;
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1330983&r1=1330982&r2=1330983&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Thu Apr 26 17:30:13 2012
@@ -19,9 +19,6 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.lang.Thread.UncaughtExceptionHandler;
@@ -716,9 +713,6 @@ public class HRegionServer extends Regio
} catch (KeeperException e) {
LOG.warn("Failed deleting my ephemeral node", e);
}
- // We may have failed to delete the znode at the previous step, but
- // we delete the file anyway: a second attempt to delete the znode is likely to fail again.
- deleteMyEphemeralNodeOnDisk();
this.zooKeeper.close();
LOG.info("stopping server " + this.serverNameFromMasterPOV +
"; zookeeper connection closed.");
@@ -895,9 +889,6 @@ public class HRegionServer extends Regio
// Set our ephemeral znode up in zookeeper now we have a name.
createMyEphemeralNode();
- // Save it in a file, this will allow to see if we crash
- writeMyEphemeralNodeOnDisk();
-
// Master sent us hbase.rootdir to use. Should be fully qualified
// path with file system specification included. Set 'fs.defaultFS'
// to match the filesystem on hbase.rootdir else underlying hadoop hdfs
@@ -932,49 +923,11 @@ public class HRegionServer extends Regio
return ZKUtil.joinZNode(this.zooKeeper.rsZNode, getServerName().toString());
}
- private String getMyEphemeralNodeFileName(){
- return System.getenv().get("HBASE_ZNODE_FILE");
- }
-
-
private void createMyEphemeralNode() throws KeeperException {
ZKUtil.createEphemeralNodeAndWatch(this.zooKeeper, getMyEphemeralNodePath(),
HConstants.EMPTY_BYTE_ARRAY);
}
- private void writeMyEphemeralNodeOnDisk() throws IOException {
- String fileName = getMyEphemeralNodeFileName();
-
- if (fileName==null){
- LOG.warn("No filename given to save the znode used, it won't be saved "+
- "(Environment variable HBASE_ZNODE_FILE is not set).");
- return;
- }
-
- FileWriter fstream = new FileWriter(fileName);
- BufferedWriter out = new BufferedWriter(fstream);
- try {
- out.write(getMyEphemeralNodePath()+"\n");
- } finally {
- try {
- out.close();
- } finally {
- fstream.close();
- }
- }
- }
-
- private void deleteMyEphemeralNodeOnDisk(){
- String fileName = getMyEphemeralNodeFileName();
-
- if (fileName==null){
- return;
- }
-
- File f = new File(fileName);
- f.delete();
- }
-
private void deleteMyEphemeralNode() throws KeeperException {
ZKUtil.deleteNode(this.zooKeeper, getMyEphemeralNodePath());
}