Skip to content

Commit c249db8

Browse files
authored
HADOOP-18380. fs.s3a.prefetch.block.size to be read through longBytesOption (#4762)
Contributed by Viraj Jasani.
1 parent eda4bb5 commit c249db8

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -513,8 +513,13 @@ public void initialize(URI name, Configuration originalConf)
513513
enableMultiObjectsDelete = conf.getBoolean(ENABLE_MULTI_DELETE, true);
514514

515515
this.prefetchEnabled = conf.getBoolean(PREFETCH_ENABLED_KEY, PREFETCH_ENABLED_DEFAULT);
516-
this.prefetchBlockSize = intOption(
517-
conf, PREFETCH_BLOCK_SIZE_KEY, PREFETCH_BLOCK_DEFAULT_SIZE, PREFETCH_BLOCK_DEFAULT_SIZE);
516+
long prefetchBlockSizeLong =
517+
longBytesOption(conf, PREFETCH_BLOCK_SIZE_KEY, PREFETCH_BLOCK_DEFAULT_SIZE,
518+
PREFETCH_BLOCK_DEFAULT_SIZE);
519+
if (prefetchBlockSizeLong > (long) Integer.MAX_VALUE) {
520+
throw new IOException("S3A prefatch block size exceeds int limit");
521+
}
522+
this.prefetchBlockSize = (int) prefetchBlockSizeLong;
518523
this.prefetchBlockCount =
519524
intOption(conf, PREFETCH_BLOCK_COUNT_KEY, PREFETCH_BLOCK_DEFAULT_COUNT, 1);
520525

0 commit comments

Comments
 (0)