[
https://issues.apache.org/jira/browse/HADOOP-15109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16286947#comment-16286947
]
zhoutai.zt commented on HADOOP-15109:
-------------------------------------
Thanks [~ajayydv].
Another way to generate a bounded random long.
{code:java}
ThreadLocalRandom.current().nextLong(fileSize)
{code}
> TestDFSIO -read -random doesn't work on file sized 4GB
> ------------------------------------------------------
>
> Key: HADOOP-15109
> URL: https://issues.apache.org/jira/browse/HADOOP-15109
> Project: Hadoop Common
> Issue Type: Bug
> Components: fs, test
> Affects Versions: 3.0.0-beta1
> Reporter: zhoutai.zt
> Assignee: Ajay Kumar
> Priority: Minor
> Attachments: HADOOP-15109.001.patch, Screen Shot 2017-12-11 at
> 3.17.22 PM.png
>
>
> TestDFSIO -read -random throws IllegalArgumentException on 4GB file. The
> cause is:
> {code:java}
> private long nextOffset(long current) {
> if(skipSize == 0)
> return rnd.nextInt((int)(fileSize));
> if(skipSize > 0)
> return (current < 0) ? 0 : (current + bufferSize + skipSize);
> // skipSize < 0
> return (current < 0) ? Math.max(0, fileSize - bufferSize) :
> Math.max(0, current + skipSize);
> }
> }
> {code}
> When {color:#d04437}_filesize_{color} exceeds signed int, (int)(filesize)
> will be negative and cause Random.nextInt throws IllegalArgumentException("n
> must be positive").
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]