RFR (S): 8022229: Intermittent test failures in sun/tools/jstatd
Yekaterina Kantserova
yekaterina.kantserova at oracle.com
Thu Oct 24 06:57:03 PDT 2013
Hi,
I've done following big changes after the Staffan's review:
- ported JDKToolLauncher, JDKToolFinder, Plattform from hotspot
testlibrary (http://hg.openjdk.java.net/hsx/hotspot-rt/hotspot) for
re-using in ToolConfig
- changed "verifiy output form jps, jstat"-methods to ignore warnings
from VM
- tools will be launched without -vmoptions
plusmade fixes for all minor comments.
If it's a good idea to push testlibrary changes separately I can make a
separate patch for them.
Webrev:
http://cr.openjdk.java.net/~ykantser/8022229/webrev.02/
Primal bug:
https://bugs.openjdk.java.net/browse/JDK-8022229
Similar bugs:
https://bugs.openjdk.java.net/browse/JDK-8019630
https://bugs.openjdk.java.net/browse/JDK-6636094
https://bugs.openjdk.java.net/browse/JDK-6543979
Thanks,
Katja
On 10/23/2013 12:55 PM, Staffan Larsen wrote:
> test/lib/testlibrary/jdk/testlibrary/Asserts.java
> Same code as already exists in the hotspot testlibrary.
> No further comments.
>
>
> test/lib/testlibrary/jdk/testlibrary/ProcessThread.java
> L33: stating -> starting
> L66: staring -> starting
>
>
> test/lib/testlibrary/jdk/testlibrary/TestThread.java
> This code comes from an internal test library.
> No further comments.
>
>
> test/lib/testlibrary/jdk/testlibrary/Utils.java
> No comments.
>
>
> test/lib/testlibrary/jdk/testlibrary/XRun.java
> This code comes from an internal test library.
> No further comments.
>
>
> test/sun/tools/jstatd/JstatGcutilParser.java
> The parse() method could be made more robust by discarding any lines
> that come before the header lines. This can happen if the JVM outputs
> a warning message for some reason before running jstat.
> I don't like the special-case for the CCS column in verify() - took
> me a while to find it. Should we add a new enum called
> PERCENTAGE_OR_DASH to handle that instead?
>
> L67: getType() should be private.
>
>
> test/sun/tools/jstatd/JstatdHelper.java:
> L54: Does verifyJpsOutput() work correctly with output of the form:
>
> 1234 -- main class information unavailable
> 1235 -- process information unavailable
>
> Also: same comment here as for JstatGcutilParser.java: sometimes the
> JVM outputs warning messages before the output from the tool.
>
> L46: "attach" is probably not the best way to describe the operation
> of jps. It does not attach to the process, it merely lists the running
> processes. Perhaps runJps() is a better name?
>
>
> test/sun/tools/jstatd/TestJstatdDefaults.java
> test/sun/tools/jstatd/TestJstatdExternalRegistry.java
> test/sun/tools/jstatd/TestJstatdPort.java
> test/sun/tools/jstatd/TestJstatdPortAndServer.java
> test/sun/tools/jstatd/TestJstatdServer.java
> No comments.
>
>
> test/sun/tools/jstatd/TestJstatdUsage.java
> Same comment here as for JstatGcutilParser.java: sometimes the JVM
> outputs warning messages before the output from the tool.
>
>
> test/sun/tools/jstatd/ToolConfig.java
> ToolConfig + Utils.get(Forward)VmOptions() seem to be doing similar
> things to JDKToolLauncher in the hotspot testlibrary. It is
> unfortunate if we have two ways to do similar things in the two
> different testlibraries. Would it be possible to reuse the hotspot
> code here instead?
>
> You have also changed the test. Previously the tools were not
> launched with the jtreg -vmoptions (test.vm.opts), whereas now they
> will be. Is this intentional?
>
>
> General comments:
>
> Can't we do:
> * @library /lib/testlibrary
> instead of
> * @library ../../../lib/testlibrary
> ?
>
> It seems that at least some of the functionality should be reused for
> re-writing the jstat and jps tests as well. I guess we can look at
> that at a later time, though.
>
> While I applaud the move from shell scripts to Java code, I can't
> shake the feeling that the shell scripts were easier to read and
> follow. The Java code is much more verbose and spread out over
> multiple helpers and libraries, making it harder to grasp. That may be
> the price we have to pay, though.
>
>
> Thanks,
> /Staffan
More information about the hotspot-dev
mailing list