Source:
<code>private int positionedReadInternal(long pos, byte[] b, int off, int len) throws IOException { if (pos < 0 || pos >= mLength) { return -1; } LOG.info("AMDEBUG pread len ", len); if (len < 2 * Constants.MB) { LOG.info("AMDEBUG set for pread len ", len); <START> mOptions.setPositionShort(true); <END> } int lenCopy = len; CountingRetry retry = new CountingRetry(mBlockWorkerClientReadRetry); IOException lastException = null; while (len > 0 && retry.attempt()) { if (pos >= mLength) { break; } long blockId = mStatus.getBlockIds().get(Math.toIntExact(pos / mBlockSize)); try { if (mCachedPositionedReadStream == null) { mCachedPositionedReadStream = mBlockStore.getInStream(blockId, mOptions, mFailedWorkers); } else if (mCachedPositionedReadStream.getId() != blockId) { closeBlockInStream(mCachedPositionedReadStream); mCachedPositionedReadStream = mBlockStore.getInStream(blockId, mOptions, mFailedWorkers); } long offset = pos % mBlockSize; int bytesRead = mCachedPositionedReadStream.positionedRead(offset, b, off, (int) Math.min(mBlockSize - offset, len)); Preconditions.checkState(bytesRead > 0, "No data is read before EOF"); pos += bytesRead; off += bytesRead; len -= bytesRead; retry.reset(); lastException = null; triggerAsyncCaching(mCachedPositionedReadStream); } catch (UnavailableException | DeadlineExceededException | ConnectException e) { lastException = e; if (mCachedPositionedReadStream != null) { handleRetryableException(mCachedPositionedReadStream, e); mCachedPositionedReadStream = null; } } } if (lastException != null) { throw lastException; } return lenCopy - len; }</code><technical_language>this option apply positioned reads reads read API</technical_language>

Target:
private int positionedReadInternal(long pos, byte[] b, int off, int len) throws IOException { if (pos < 0 || pos >= mLength) { return -1; } if (len < mContext.getPathConf(new AlluxioURI(mStatus.getPath())) .getBytes(PropertyKey.USER_FILE_SEQUENTIAL_PREAD_THRESHOLD)) { mOptions.setPositionShort(true); } int lenCopy = len; CountingRetry retry = new CountingRetry(mBlockWorkerClientReadRetry); IOException lastException = null; while (len > 0 && retry.attempt()) { if (pos >= mLength) { break; } long blockId = mStatus.getBlockIds().get(Math.toIntExact(pos / mBlockSize)); try { if (mCachedPositionedReadStream == null) { mCachedPositionedReadStream = mBlockStore.getInStream(blockId, mOptions, mFailedWorkers); } else if (mCachedPositionedReadStream.getId() != blockId) { closeBlockInStream(mCachedPositionedReadStream); mCachedPositionedReadStream = mBlockStore.getInStream(blockId, mOptions, mFailedWorkers); } long offset = pos % mBlockSize; int bytesRead = mCachedPositionedReadStream.positionedRead(offset, b, off, (int) Math.min(mBlockSize - offset, len)); Preconditions.checkState(bytesRead > 0, "No data is read before EOF"); pos += bytesRead; off += bytesRead; len -= bytesRead; retry.reset(); lastException = null; triggerAsyncCaching(mCachedPositionedReadStream); } catch (UnavailableException | DeadlineExceededException | ConnectException e) { lastException = e; if (mCachedPositionedReadStream != null) { handleRetryableException(mCachedPositionedReadStream, e); mCachedPositionedReadStream = null; } } } if (lastException != null) { throw lastException; } return lenCopy - len; }