Hi,

When ClientNotifForwarder starts, its first communication with ServerNotifForwarder is to get clientSequenceNumber, then starts LinearExecutor to execute the fetching job. If reconnection happens during this communication, a new thread will be started by the reconnection to do fetching job too, that's why the test got "java.lang.IllegalArgumentException: More than one command "

I have verified the class ClientNotifForwarder to make sure no other place would start a new job.

It is difficult to have a regression test to reproduce this bug, it is all related to an internal function. I had to add code temporally into the implementation to make the reconnection happen during this first communication, in order to reproduce the bug and to verify the fix.

webrev: http://cr.openjdk.java.net/~sjiang/JDK-8038940/00/
bug: https://bugs.openjdk.java.net/browse/JDK-8038940

Thanks,
Shanliang

Reply via email to