RFR 8200181 [11] Remove superflous non-IPv4 code from Java_java_net_TwoStacksPlainSocketImpl_socketListen
Chris Hegarty
chris.hegarty at oracle.com
Fri Mar 23 18:48:36 UTC 2018
Ivan,
On 23/03/18 18:38, Ivan Gerasimov wrote:
> Hi Chris!
>
> I was about to submit a patch for 8198358 that heavily modifies
> TwoStacksPlainSocketImpl to make it aligned with DualStackPlainSocketImpl.
>
> That patch will also remove this problematic code.
>
> I can rebase my patch, but wouldn't it be easier to proceed with that fix?
There is an immediate urgency to have this possibly problematic
code removed. We're seeing strangle rare intermittent failures
that may be caused by it, and possibly the socket cleaner. It
is extremely difficult to reproduce, so we want to eliminate
this code from the equation.
Regarding 8198358, I've been thinking again about this, and I
think a better approach may be to just remove
TwoStackPlainSocketImpl completely. The preferIPv4Stack can go
through DualStackPlainSocketImpl with a indicator to create an
AF_INET socket, just like on unix. I think this could be a more
straight forward path forward, unless testing shows otherwise.
Maybe 8198358 could be amended to do this? Is this something that
you would be interested in doing? Otherwise, I can try some
experiments to see how it looks.
-Chris.
> I'm going send the webrev set shortly.
>
> With kind regards,
>
> Ivan
>
>
> On 3/23/18 10:18 AM, Chris Hegarty wrote:
>> Given that JDK-8058965 removed the IPv6 support from
>> TwoStacksPlainSocketImpl, the native socketListen method no longer
>> needs to deal with the non-IPv4 code path. This simplifies the code,
>> brings it in line with the unix variants, and removes a possible
>> problematic code path that could close the socket without notifying
>> the socket cleaner.
>>
>> http://cr.openjdk.java.net/~chegar/8200181.00/
>> https://bugs.openjdk.java.net/browse/JDK-8200181
>>
>> -Chris.
>>
>> [1] https://bugs.openjdk.java.net/browse/JDK-8058965
>>
>
More information about the net-dev
mailing list