Review request for 6824477
Xueming Shen
Xueming.Shen at Sun.COM
Thu Apr 2 17:52:21 UTC 2009
Alan Bateman wrote:
> 6824477: Selector.select fails with IOException: Invalid argument" if
> maximum file descriptors is low
>
> Sherman, you'll probably want to take this - it's another Solaris
> specific issue with the /dev/poll based Selector. The Glassfish folks
> have been seeing this one intermittently at a few places. In summary,
> the maximum number of pollfd structs that can be written to the driver
> in a single batch is limited by the maximum number of file descriptors
> (the hard limit). The Selector, on the other hand, may attempt to
> write up to 10000 updates in a single batch. Where the file descriptor
> limit is set to a value less than 10000 then it's possible (under
> load, when the interest ops of socket channels are updated many times,
> or the select method isn't invoked in a timely manner) that the number
> of pending updates exceeds the file descriptor limit causing the
> exception in the bug report. This bug has always existed but probably
> hasn't been noticed because the default limit is 64k. I've used the
> opportunity to eliminate an allocate/free from updateRegistrations.
>
> The webrev is here:
> http://cr.openjdk.java.net/~alanb/6824477/webrev.00/
>
> Thanks,
> Alan
looks good; approved.
btw, just wonder if the #93-#97 "zero-fill" init code really necessary
(and then those putXYX)?
More information about the core-libs-dev
mailing list