[ 
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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to