Author: jimk
Date: Fri Mar  6 02:05:04 2009
New Revision: 750749

URL: http://svn.apache.org/viewvc?rev=750749&view=rev
Log:
HBASE-1155, this time to the correct branch.

Modified:
    
hadoop/hbase/branches/trunk_on_hadoop-0.19.1-dev_with_hadoop-4379/src/java/org/apache/hadoop/hbase/regionserver/HLog.java

Modified: 
hadoop/hbase/branches/trunk_on_hadoop-0.19.1-dev_with_hadoop-4379/src/java/org/apache/hadoop/hbase/regionserver/HLog.java
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/branches/trunk_on_hadoop-0.19.1-dev_with_hadoop-4379/src/java/org/apache/hadoop/hbase/regionserver/HLog.java?rev=750749&r1=750748&r2=750749&view=diff
==============================================================================
--- 
hadoop/hbase/branches/trunk_on_hadoop-0.19.1-dev_with_hadoop-4379/src/java/org/apache/hadoop/hbase/regionserver/HLog.java
 (original)
+++ 
hadoop/hbase/branches/trunk_on_hadoop-0.19.1-dev_with_hadoop-4379/src/java/org/apache/hadoop/hbase/regionserver/HLog.java
 Fri Mar  6 02:05:04 2009
@@ -51,10 +51,10 @@
 import org.apache.hadoop.hbase.RemoteExceptionHandler;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.FSUtils;
-import org.apache.hadoop.io.SequenceFile;
-import org.apache.hadoop.io.SequenceFile.CompressionType;
-import org.apache.hadoop.io.SequenceFile.Metadata;
-import org.apache.hadoop.io.SequenceFile.Reader;
+import org.apache.hadoop.hbase.io.SequenceFile;
+import org.apache.hadoop.hbase.io.SequenceFile.CompressionType;
+import org.apache.hadoop.hbase.io.SequenceFile.Metadata;
+import org.apache.hadoop.hbase.io.SequenceFile.Reader;
 import org.apache.hadoop.io.compress.DefaultCodec;
 
 /**
@@ -757,30 +757,34 @@
           LOG.debug("Splitting " + (i + 1) + " of " + logfiles.length + ": " +
             logfiles[i].getPath());
         }
-        // Recover the files lease if necessary
-        boolean recovered = false;
-        while (!recovered) {
-          try {
-            FSDataOutputStream out = fs.append(logfiles[i].getPath());
-            out.close();
-            recovered = true;
-          } catch (IOException e) {
-            if (LOG.isDebugEnabled()) {
-              LOG.debug("Triggering lease recovery.");
+        // Recover the file's lease if necessary
+        try {
+          while (true) {
+            try {
+              FSDataOutputStream out = fs.append(logfiles[i].getPath());
+              out.close();
+              break;
+            } catch (IOException e) {
+              e = RemoteExceptionHandler.checkIOException(e);
+              if (e instanceof EOFException) {
+                throw e;
+              }
+              if (LOG.isDebugEnabled()) {
+                LOG.debug("Triggering lease recovery.");
+              }
             }
             try {
               Thread.sleep(leaseRecoveryPeriod);
             } catch (InterruptedException ex) {
               // ignore it and try again
             }
-            if (logfiles[i].getLen() <= 0) {
-              // If the file could be empty, skip it.
-              break;
-            }
-            continue;
           }
+        } catch (EOFException e) {
+          // file is empty, skip it
+          continue;
         }
-        if (!recovered) {
+        if (logfiles[i].getLen() <= 0) {
+          // File is empty, skip it.
           continue;
         }
         HLogKey key = new HLogKey();


Reply via email to