Hi Hamlin,
The changes proposed are fine as far as they go, but...
I think this test can be completely removed.
The recent change to use inherited channel for many of the rmid tests
makes this test redundant.
It does not add anything over other activation/RMID tests.
The test before the changes, was successful because it launched the
daemon with
a specific selector provider whose only action was to notify that it was
launched successfully
(by invoking a method on an object registered in the registry) and was
successful if the invoking
test program received the notification.
That function is now replaced by RMID.createRMIDonEphemeralPort().
If it succeeds to launch and retrieve the port number, then the
InheritedChannel mechanism is fully working.
So I think the test can be removed entirely.
Make sense?
Thanks, Roger
On 11/23/2016 4:49 AM, Hamlin Li wrote:
Would you please review the fix for below bug?
bug: https://bugs.openjdk.java.net/browse/JDK-8019538
webrev: http://cr.openjdk.java.net/~mli/8019538/webrev.00/
There are 4 issues in the bug,
2 in RmidViaInheritedChannel.java: "port in use" in registry, "port
in use" in rmid start.
2 InheritedChannelNotServerSocket.java: "port in use" in registry,
"port in use" in rmid start.
This patch fixes 2 issues in RmidViaInheritedChannel, and only "port
in use" in registry in InheritedChannelNotServerSocket.
The "port in use" in rmid in InheritedChannelNotServerSocket is little
bit hard, as it intends to test rmid when inherited channel not work.
Currently the only solution in my mind is to retry when rmid fails
with "port in use", but as we discussed earlier, it's not a good
solution as it might impact other programs or tests, and it's not
efficient.
So I hope to push the fix for the other issues first to improve the
stability of RMI tests, and keep studying if there are other better
solutions for the "port in use" in rmid in
InheritedChannelNotServerSocket.
Thank you
-Hamlin