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 2010/12/21 06:32:23 UTC
svn commit: r1051380 - in /hbase/trunk: ./
src/main/java/org/apache/hadoop/hbase/catalog/
src/main/java/org/apache/hadoop/hbase/regionserver/
src/main/java/org/apache/hadoop/hbase/regionserver/handler/
Author: stack
Date: Tue Dec 21 05:32:22 2010
New Revision: 1051380
URL: http://svn.apache.org/viewvc?rev=1051380&view=rev
Log:
HBASE-3343 Server not shutting down after losing log lease
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1051380&r1=1051379&r2=1051380&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Tue Dec 21 05:32:22 2010
@@ -799,6 +799,7 @@ Release 0.90.0 - Unreleased
HBASE-3371 Race in TestReplication can make it fail
HBASE-3323 OOME in master splitting logs
HBASE-3374 Our jruby jar has *GPL jars in it; fix
+ HBASE-3343 Server not shutting down after losing log lease
IMPROVEMENTS
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java?rev=1051380&r1=1051379&r2=1051380&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java Tue Dec 21 05:32:22 2010
@@ -427,7 +427,8 @@ public class CatalogTracker {
Throwable cause = e.getCause();
if (cause != null && cause instanceof EOFException) {
t = cause;
- } else if (cause.getMessage().contains("Connection reset")) {
+ } else if (cause != null && cause.getMessage() != null
+ && cause.getMessage().contains("Connection reset")) {
t = cause;
} else {
throw e;
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=1051380&r1=1051379&r2=1051380&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 Tue Dec 21 05:32:22 2010
@@ -643,7 +643,7 @@ public class HRegionServer implements HR
// Interrupt catalog tracker here in case any regions being opened out in
// handlers are stuck waiting on meta or root.
if (this.catalogTracker != null) this.catalogTracker.stop();
- waitOnAllRegionsToClose();
+ if (this.fsOk) waitOnAllRegionsToClose();
// Make sure the proxy is down.
if (this.hbaseMaster != null) {
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java?rev=1051380&r1=1051379&r2=1051380&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java Tue Dec 21 05:32:22 2010
@@ -97,7 +97,7 @@ public class OpenRegionHandler extends E
if (tickleOpening("post_region_open")) {
if (updateMeta(region)) failed = false;
}
- if (failed) {
+ if (failed || this.server.isStopped() || this.rsServices.isStopping()) {
cleanupFailedOpen(region);
return;
}
@@ -119,6 +119,9 @@ public class OpenRegionHandler extends E
* Caller must cleanup region if this fails.
*/
private boolean updateMeta(final HRegion r) {
+ if (this.server.isStopped() || this.rsServices.isStopping()) {
+ return false;
+ }
// Object we do wait/notify on. Make it boolean. If set, we're done.
// Else, wait.
final AtomicBoolean signaller = new AtomicBoolean(false);
@@ -324,4 +327,4 @@ public class OpenRegionHandler extends E
private boolean isGoodVersion() {
return this.version != -1;
}
-}
\ No newline at end of file
+}