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 2008/12/03 01:03:14 UTC
svn commit: r722690 - in /hadoop/hbase/trunk: CHANGES.txt
src/java/org/apache/hadoop/hbase/Leases.java
src/java/org/apache/hadoop/hbase/master/ServerManager.java
src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Author: stack
Date: Tue Dec 2 16:03:13 2008
New Revision: 722690
URL: http://svn.apache.org/viewvc?rev=722690&view=rev
Log:
HBASE-1042 OOME but we don't abort
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/Leases.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=722690&r1=722689&r2=722690&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Tue Dec 2 16:03:13 2008
@@ -88,6 +88,7 @@
HBASE-1036 HBASE-1028 broke Thrift
HBASE-1037 Some test cases failing on Windows/Cygwin but not UNIX/Linux
HBASE-1041 Migration throwing NPE
+ HBASE-1042 OOME but we don't abort
IMPROVEMENTS
HBASE-901 Add a limit to key length, check key and value length on client side
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/Leases.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/Leases.java?rev=722690&r1=722689&r2=722690&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/Leases.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/Leases.java Tue Dec 2 16:03:13 2008
@@ -77,12 +77,13 @@
Lease lease = null;
try {
lease = leaseQueue.poll(leaseCheckFrequency, TimeUnit.MILLISECONDS);
-
} catch (InterruptedException e) {
continue;
-
} catch (ConcurrentModificationException e) {
continue;
+ } catch (Throwable e) {
+ LOG.fatal("Unexpected exception killed leases thread", e);
+ break;
}
if (lease == null) {
continue;
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java?rev=722690&r1=722689&r2=722690&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/master/ServerManager.java Tue Dec 2 16:03:13 2008
@@ -758,4 +758,4 @@
public boolean isDead(String serverName) {
return deadServers.contains(serverName);
}
-}
+}
\ No newline at end of file
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=722690&r1=722689&r2=722690&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Tue Dec 2 16:03:13 2008
@@ -608,8 +608,9 @@
private boolean checkOOME(final Throwable e) {
boolean aborting = false;
if (e instanceof OutOfMemoryError ||
- (e.getCause()!= null && e.getCause() instanceof OutOfMemoryError)) {
- LOG.fatal("OOME, aborting.", e);
+ (e.getCause()!= null && e.getCause() instanceof OutOfMemoryError) ||
+ e.getMessage().contains("java.lang.OutOfMemoryError")) {
+ LOG.fatal("OutOfMemoryError, aborting.", e);
abort();
aborting = true;
}
@@ -1871,7 +1872,8 @@
*/
protected void checkOpen() throws IOException {
if (this.stopRequested.get() || this.abortRequested) {
- throw new IOException("Server not running");
+ throw new IOException("Server not running" +
+ (this.abortRequested? ", aborting": ""));
}
if (!fsOk) {
throw new IOException("File system not available");