Hi Hamlin,

On 19/01/2018 4:28 PM, Hamlin Li wrote:

On 19/01/2018 2:11 PM, David Holmes wrote:
Hi Hamlin,

On 19/01/2018 3:04 PM, Hamlin Li wrote:
Hi Roger, David

Please check the updated webrev at: http://cr.openjdk.java.net/~mli/8194284/webrev.00/

RMID.java:

This comment no longer makes sense:

      // when restart rmid, it may take more time than usual because of
      // "port in use" by a possible interloper (check JDK-8168975),
      // so need to set a longer timeout for restart.
!     private static final long RESTART_TIMEOUT = (long)(TIMEOUT_BASE * 0.9);

Actually I'm not sure it originally made sense - longer than what? But as it stands RESTART_TIMEOUT is smaller than TIMEOUT_BASE so the comment really seems odd. Perhaps 8168975 will shed some light on the intent. ??
Hi David,

The comment still makes sense.
Before 8168975, restart() calls start() which is indeed start(STARTTIME_MS), where STARTTIME_MS is 15_000L, but we found out in some situation restart() needs more time than start(); So in 8168975, restart() calls start(restartTimeout), where restartTimeout is RESTART_TIMEOUT in 8194284.

Okay, then I suggest changing:

 // so need to set a longer timeout for restart.

to

 // so need to set a longer timeout than STARTTIME_MS for restart.

Thanks,
David


The TestLibrary change looks good.
Do you also think the comment makes sense with my explanation?

Thank you
-Hamlin

Thanks,
David

Thank you

-Hamlin


On 18/01/2018 10:33 PM, Roger Riggs wrote:
Hi Hamlin,

The base bug is that the timeoutFactor is being applied twice, once in the RMID constructor and again in computeDeadline.  It is better to cleanup the implementation of the test library than to fudge the values.  Either respect the timeouts passed in (remove the scaling from computeDeadline)
or consistently leave it to the lower level routines.  Pick 1.

Thanks, Roger


On 1/18/2018 1:59 AM, Hamlin Li wrote:
Would you please review the following patch?

bug: https://bugs.openjdk.java.net/browse/JDK-8194284

webrev as below.


Thank you

-Hamlin

------------------------------------------------------------------------

diff -r 0dec8c41170c test/jdk/java/rmi/testlibrary/TestLibrary.java
--- a/test/jdk/java/rmi/testlibrary/TestLibrary.java    Wed Jan 17 20:07:50 2018 -0800 +++ b/test/jdk/java/rmi/testlibrary/TestLibrary.java    Thu Jan 18 14:54:50 2018 +0800
@@ -188,8 +188,12 @@
     public static long computeDeadline(long timestamp, long timeout) {
         final long MAX_TIMEOUT_MS = 3_600_000L;

-        if (timeout < 0L || timeout > MAX_TIMEOUT_MS) {
+        if (timeout < 0L) {
             throw new IllegalArgumentException("timeout " + timeout + "ms out of range");
+        } else if (timeout > MAX_TIMEOUT_MS) {
+            System.out.format("timeout value(%d) exceeds MAX_TIMEOUT_MS(%d), " +                    + "use MAX_TIMEOUT_MS instead!%n", timeout, MAX_TIMEOUT_MS);
+            timeout = MAX_TIMEOUT_MS;
         }

         return timestamp + (long)(timeout * getTimeoutFactor());




Reply via email to