RFR:8153992:Some hotspot tests fail on compact2 due to an unnecessary test library dependency

Alexander Kulyakhtin alexander.kulyakhtin at oracle.com
Thu Apr 21 12:23:54 UTC 2016


Mandy,

Thank you very much for your review.

I have updated the fix per your comments, making ProcessTools.getProcessId() return long.

The function ProcessTools.getVmInputArguments(), although does depend on the API from the java.management, is not used by any of the tests addressed by the CR. 

Best regards,
Alexander 
 
----- Original Message -----
From: alexander.kulyakhtin at oracle.com
To: hotspot-dev at openjdk.java.net
Cc: mandy.chung at oracle.com
Sent: Thursday, April 21, 2016 3:11:46 PM GMT +03:00 Iraq
Subject: Re: RFR:8153992:Some hotspot tests fail on compact2 due to an unnecessary test library dependency

Hi,

Could you, please, review this fix (updated to address the findings of the previous review)

CR: https://bugs.openjdk.java.net/browse/JDK-8153992 "Some SVC tests fail on compact2 due to an unnecessary test library dependency"
Webrev: http://cr.openjdk.java.net/~akulyakh/8153992_02/index.html

Before the fix the ProcessTools.getProcessId() used the ManagementFactory.getRuntimeMXBean() API.
The API is not available on compact2 and below. Therefore the tests failed.
We are changing the ProcessTools.getProcessId() method to use the JDK 9 Process.getPid(). This eliminates the unnecessary dependency making the tests pass on compact2.

Since, with this change ProcessTools.getProcessId() now returns long we are also trivially modifying all the affected tests.

Best regards,
Alexander



----- Original Message -----
From: mandy.chung at oracle.com
To: alexander.kulyakhtin at oracle.com
Cc: serviceability-dev at openjdk.java.net
Sent: Thursday, April 21, 2016 12:03:14 AM GMT +03:00 Iraq
Subject: Re: RFR:8153989:Some SVC tests fail on compact2 due to an unnecessary test library dependency


> On Apr 20, 2016, at 9:06 AM, Alexander Kulyakhtin <alexander.kulyakhtin at oracle.com> wrote:
> 
> Hi,
> 
> Could you, please, review this small tests-only fix:
> 
> CR: https://bugs.openjdk.java.net/browse/JDK-8153992 "Some SVC tests fail on compact2 due to an unnecessary test library dependency"
> Webrev: http://cr.openjdk.java.net/~akulyakh/8153992/test/testlibrary/jdk/test/lib/ProcessTools.java.udiff.html
> 
> Before the fix the ProcessTools.getProcessId() used the ManagementFactory.getRuntimeMXBean() API.
> The API is not available on compact2 and below. Therefore the tests failed.
> 
> We are changing the ProcessTools.getProcessId() method to use the JDK 9 Process.getPid(). This eliminates the unnecessary dependency making the tests pass on compact2.
> 

This looks okay. But I see that getVmInputArguments calls ManagementFactory.getRuntimeMXBean.  So ProcessTools still has a dependency on java.management.

The jdk test library ProcessTools::getProcessId has been long ago to call Process::getPid and the method is changed to return long.  I thought that similar change would have been made in the hotspot test library at that time.

> I am not sure how acceptable it is to cast from long to int this change. If it is not acceptable we can change the return type to long. 
> This however, will cause massive changes throughout the hotspot tests which presently expect getProcessId() to return int.

IMO it would be good to return long or have the callsite to call ProcessHandle.current().getPid().

Mandy



More information about the hotspot-dev mailing list