[
https://issues.apache.org/jira/browse/LUCENE-6075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14226188#comment-14226188
]
Boaz Leskes commented on LUCENE-6075:
-------------------------------------
Thank you for fixing it.
I ran into it in code that ran in a VM and I suspect (though can't be sure) it
had something to do with virtualized time. I wonder if it makes sense to have a
"sanity check" upper bound to rate limiting - as sleeping for 25 days is most
likely not the intended behaviour..
> SimpleRateLimiter cast overflow results in Thread.sleep exception
> -----------------------------------------------------------------
>
> Key: LUCENE-6075
> URL: https://issues.apache.org/jira/browse/LUCENE-6075
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/store
> Reporter: Boaz Leskes
> Assignee: Michael McCandless
> Fix For: Trunk, 5.x
>
> Attachments: LUCENE-6075.patch
>
>
> SimpleRateLimiter.pause() uses an uncheck cast of longs to ints:
> Thread.sleep((int) (pauseNS/1000000), (int) (pauseNS % 1000000));
> Although we check that pauseNS is positive, however if it's large enough the
> cast to int produces a negative value, causing Thread.sleep to throw an
> exception.
> We should protect for it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]