Author: stack
Date: Tue Sep 28 20:38:12 2010
New Revision: 1002348

URL: http://svn.apache.org/viewvc?rev=1002348&view=rev
Log:
HBASE-3038 WALReaderFSDataInputStream.getPos() fails if Filesize > MAX_INT; 
addendum

Modified:
    
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java

Modified: 
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java
URL: 
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java?rev=1002348&r1=1002347&r2=1002348&view=diff
==============================================================================
--- 
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java
 (original)
+++ 
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java
 Tue Sep 28 20:38:12 2010
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.lang.Class;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
+import java.lang.reflect.Method;
  
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -103,9 +104,11 @@ public class SequenceFileLogReader imple
             Field fIn = FilterInputStream.class.getDeclaredField("in");
             fIn.setAccessible(true);
             Object realIn = fIn.get(this.in);
-            long realLength = ((Long)realIn.getClass().
-                getMethod("getFileLength", new Class<?> []{}).
-                invoke(realIn, new Object []{})).longValue();
+            Method getFileLength = realIn.getClass().
+              getMethod("getFileLength", new Class<?> []{});
+            getFileLength.setAccessible(true);
+            long realLength = ((Long)getFileLength.
+              invoke(realIn, new Object []{})).longValue();
             assert(realLength >= this.length);
             adjust = realLength - this.length;
           } catch(Exception e) {


Reply via email to