Skip to content

Commit 3d362d0

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

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
@@ -535,8 +535,13 @@ public void initialize(URI name, Configuration originalConf)
535535
enableMultiObjectsDelete = conf.getBoolean(ENABLE_MULTI_DELETE, true);
536536

537537
this.prefetchEnabled = conf.getBoolean(PREFETCH_ENABLED_KEY, PREFETCH_ENABLED_DEFAULT);
538-
this.prefetchBlockSize = intOption(
539-
conf, PREFETCH_BLOCK_SIZE_KEY, PREFETCH_BLOCK_DEFAULT_SIZE, PREFETCH_BLOCK_DEFAULT_SIZE);
538+
long prefetchBlockSizeLong =
539+
longBytesOption(conf, PREFETCH_BLOCK_SIZE_KEY, PREFETCH_BLOCK_DEFAULT_SIZE,
540+
PREFETCH_BLOCK_DEFAULT_SIZE);
541+
if (prefetchBlockSizeLong > (long) Integer.MAX_VALUE) {
542+
throw new IOException("S3A prefetch block size exceeds int limit");
543+
}
544+
this.prefetchBlockSize = (int) prefetchBlockSizeLong;
540545
this.prefetchBlockCount =
541546
intOption(conf, PREFETCH_BLOCK_COUNT_KEY, PREFETCH_BLOCK_DEFAULT_COUNT, 1);
542547

0 commit comments

Comments
 (0)