You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nutch.apache.org by mc...@apache.org on 2005/09/07 17:46:09 UTC
svn commit: r279357 -
/lucene/nutch/branches/mapred/src/java/org/apache/nutch/ndfs/NDFSClient.java
Author: mc
Date: Wed Sep 7 08:46:08 2005
New Revision: 279357
URL: http://svn.apache.org/viewcvs?rev=279357&view=rev
Log:
Repair record keeping when we seek() in NDFS.
Modified:
lucene/nutch/branches/mapred/src/java/org/apache/nutch/ndfs/NDFSClient.java
Modified: lucene/nutch/branches/mapred/src/java/org/apache/nutch/ndfs/NDFSClient.java
URL: http://svn.apache.org/viewcvs/lucene/nutch/branches/mapred/src/java/org/apache/nutch/ndfs/NDFSClient.java?rev=279357&r1=279356&r2=279357&view=diff
==============================================================================
--- lucene/nutch/branches/mapred/src/java/org/apache/nutch/ndfs/NDFSClient.java (original)
+++ lucene/nutch/branches/mapred/src/java/org/apache/nutch/ndfs/NDFSClient.java Wed Sep 7 08:46:08 2005
@@ -454,7 +454,10 @@
throw new IOException("Cannot seek after EOF");
}
if (targetPos >= pos && targetPos <= blockEnd) {
- skip(targetPos - pos);
+ long desiredSkip = targetPos - pos;
+ while (desiredSkip > 0) {
+ desiredSkip -= skip(targetPos - pos);
+ }
} else {
pos = targetPos;
blockEnd = -1;
@@ -470,7 +473,9 @@
targetPos = Math.min(targetPos, filelen);
if (targetPos <= blockEnd) {
- return blockStream.skip(skip);
+ long result = blockStream.skip(skip);
+ pos += result;
+ return result;
} else {
pos = targetPos;
blockEnd = -1;