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) {