On 04/05/2020 22:21, Ivanov, Vladimir A wrote:
Thanks for your comments.

Updated version of the patch available as 
http://cr.openjdk.java.net/~sviswanathan/Vladimir/8243099/webrev.07/
The exception part for the setOption method was updated
+                } else if (option == SO_INCOMING_NAPI_ID) {
+                    if (!incomingNapiIdOptSupported)
+                        throw new UnsupportedOperationException("Attempt to set 
unsupported option " + option);
+                    else
+                        throw new IOException("Attempt to set read only option 
" + option);

It required to update the method's description. As side effect some application 
may report compile error for the 'setOption' method usage while one more
exception should be added to processing.

The Javadoc and the ExtOptionNAPITest.java were updated to use IOE instead of 
UOE.

Tests "test/jdk/jdk/net/Sockets test/jdk/java/net/SocketOption/AfterClose.java 
test/jdk/java/nio/channels/etc/PrintSupportedOptions.java" passed on the
RHEL8 (with NAPI support) and the RHEL7.7 (without NAPI support).
A SocketException is an IOException so no need for both in the setOption declaration. The method is internal so it's not going to impact anyone using any of the supported APIs. That said, it might be more consistent to throw SocketException here and that will avoid needing to change the declarations.

So assuming s/IOException/SocketException/ then I think the javadoc looks okay. A residual question from the discussion is whether you want to make it clear that the identifier is a positive Integer. Once we have the javadoc agreed here then you should get the CSR submitted.

I don't think ExtOptionNAPITest is ready for review. I think we need a simpler test that is reliable and easy to maintain. It will need to exercise each of the network channels (defined in java.nio.channels) in addition to the socket APIs defined in java.net. It is important that the listener binds to an ephemeral port as we can't used fixed ports in tests. It's also important that all tests do cleanup (the current ExtOptionNAPITest leaves many sockets open). We can iterate on the test here in parallel with the CSR.

-Alan


Reply via email to