On 01/10/13 19:59, Brian Burkhalter wrote:
On Oct 1, 2013, at 11:50 AM, Alan Bateman wrote:
On 01/10/2013 11:31, Brian Burkhalter wrote:
Hello net-dev members,
Please review this proposed fix at your convenience.
Summary
When looking up a host and an EAGAIN error is encountered, throw an instance of
the new HostLookupException subclass of UnknownHostException.
Issue
https://bugs.openjdk.java.net/browse/JDK-8010371
Webrev
http://cr.openjdk.java.net/~bpb/8010371
So is getaddrinfo returning EAGAIN or is it failing with EAI_SYSTEM and errno
set to EAGAIN?
It seems a bit unclear to me and to depend on which system one is on. There is
also the possibility apparently of it returning EAI_AGAIN. It might be best to
test both the return value and if that is EAI_SYSTEM to test errno.
I also wonder if the EAGAIN means the underlying syscall has been interrupted,
in which case the normal thing to do is to retry.
The approach I initially was going to take was to retry once after a short wait
and then fail with the proposed exception if the retry failed.
I'm not sure about the short wait. I know the submitter claims that it
worked after 50ms, but I don't
think we could generalise that behavior in the library. Maybe, there is
value in repeating immediately, though
it is less likely the temporary condition will have resolved.
Michael
This webrev was intended to provoke discussion such as this is the first time I
have looked at this part of the code base and it is not clear how to actually
test this situation.
Brian