RFR (S): 8022229: Intermittent test failures in sun/tools/jstatd
Yekaterina Kantserova
yekaterina.kantserova at oracle.com
Wed Oct 30 02:27:41 PDT 2013
http://cr.openjdk.java.net/~ykantser/8022229/webrev.04/
Fixed your points and changed
./test/sun/tools/jstatd/TestJstatdUsage.java to use JDKToolLauncher
instead of JDKFinder.
Thanks,
Katja
On 10/28/2013 07:02 PM, Staffan Larsen wrote:
> Rename JstatdTest.getToolOptions() to JstatdTest.getDestination().
>
> nit: JstatdTest.cleanUpThread() shouldn't be static.
>
> Thanks,
> /Staffan
>
> On 28 okt 2013, at 17:12, Yekaterina Kantserova
> <yekaterina.kantserova at oracle.com
> <mailto:yekaterina.kantserova at oracle.com>> wrote:
>
>> Hi,
>>
>> http://cr.openjdk.java.net/~ykantser/8022229/webrev.03/
>>
>> Moved ToolConfig functionality to JstatdTest (renamed JstatdHelper)
>> and deleted ToolConfig. The tests are also changed a little:
>>
>> public class TestJstatdDefaults {
>>
>> public static void main(String[] args) throws Throwable {
>> JstatdTest test = new JstatdTest();
>> test.doTest();
>> }
>>
>> }
>>
>> Hope it looks better now.
>>
>> Thanks,
>> Katja
>>
>> ----- Ursprungligt meddelande -----
>> Från:staffan.larsen at oracle.com <mailto:staffan.larsen at oracle.com>
>> Till:yekaterina.kantserova at oracle.com
>> <mailto:yekaterina.kantserova at oracle.com>
>> Kopia: serviceability-dev at openjdk.java.net
>> <mailto:serviceability-dev at openjdk.java.net>,david.holmes at oracle.com
>> <mailto:david.holmes at oracle.com>,jaroslav.bachorik at oracle.com
>> <mailto:jaroslav.bachorik at oracle.com>,christian.tornqvist at oracle.com
>> <mailto:christian.tornqvist at oracle.com>, hotspot-dev at openjdk.java.net
>> <mailto:hotspot-dev at openjdk.java.net>,mattis.castegren at oracle.com
>> <mailto:mattis.castegren at oracle.com>
>> Skickat: måndag, 28 okt 2013 12:57:38 GMT +01:00
>> Amsterdam/Berlin/Bern/Rom/Stockholm/Wien
>> Ämne: Re: RFR (S): 8022229: Intermittent test failures in
>> sun/tools/jstatd
>>
>> This looks a lot better. Just few more comments:
>>
>> ToolConfig.java
>> L72 - "getToolOptins" -> "getToolOptions"
>> L35 - why is port stored as a String? Also, could be renamed to
>> rmiRegistryPort to clarify what it is for.
>>
>> Why are some tool-specific options added in getToolOptins() and
>> some in the getJpsCmd()/getJstatdCmd()/... methods? Maybe
>> changing getToolOptins() to only return the host part of the options
>> and moving the rest of the setup to getJpsCmd()/getJstatdCmd()/...?
>>
>>
>> Thanks,
>> /Staffan
>>
>>
>> On 24 okt 2013, at 15:57, Yekaterina Kantserova
>> <yekaterina.kantserova at oracle.com
>> <mailto:yekaterina.kantserova at oracle.com>> wrote:
>>
>> 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 minorcomments.
>>
>> 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
>>
>> Similarbugs:
>> 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