mehakmeet commented on a change in pull request #3927:
URL: https://github.com/apache/hadoop/pull/3927#discussion_r827622055
##########
File path:
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInputStream.java
##########
@@ -781,6 +781,46 @@ public void readFully(long position, byte[] buffer, int
offset, int length)
}
}
+ /**
+ * {@inheritDoc}
+ *
+ * This implements a more efficient method for skip. It calls lazy seek
+ * which will either make a new get request or do a default skip.
+ * If lazy seek fails, try doing a default skip.
+ *
+ * @param n Number of bytes to be skipped
+ * @return Number of bytes skipped
+ * @throws IOException on any problem
+ */
+ @Override
+ @Retries.OnceTranslated
+ public long skip(final long n) throws IOException {
+
+ if (n <= 0) {
+ return 0;
+ }
+
+ checkNotClosed();
+ streamStatistics.skipOperationStarted();
+
+ long targetPos = pos + n;
Review comment:
Okay, Looking at the javadoc for "pos" it seemed like getPos() should be
returning that, maybe we changed that recently. Lets make a test first to
verify if the position is getting correctly updated before skipping, if it
works then let's not change it and keep it as pos.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]