RFR : JDK-8044122 MBean access to the PID

mandy chung mandy.chung at oracle.com
Fri Oct 27 23:05:40 UTC 2017


This interface method provides a default implementation to throw UOE to 
ease migration but RuntimeMXBean::getPid is not intended to be 
optional.  In other words, the platform mbean (i.e. JDK implementation 
of RuntimeMXBean) must implement this method.  This deserves further 
clarification.

What about:

@throws UOE if this default implementation is not overridden.
RuntimeMXBean for the Java platform obtained from {@link 
ManagementFactory} supports this operation.

Mandy

On 10/26/17 9:36 AM, Ujwal Vangapally wrote:
>
> Hi Roger,
>
> made changes as suggested.
>
> webrev : 
> http://cr.openjdk.java.net/~uvangapally/webrev/2017/8044122/webrev.03/
>
> Thanks,
> Ujwal.
>
> On 10/26/2017 6:54 PM, Roger Riggs wrote:
>> Hi Ujwal,
>>
>> In RuntimeMXBean:
>>
>> Please add @throws UnsupportedOperationException if the process id is 
>> not available
>>
>> Otherwise, looks fine.
>>
>> Thanks, Roger
>>
>>
>> On 10/26/2017 4:29 AM, Ujwal Vangapally wrote:
>>>
>>> Thanks for the review Mandy, Roger, Harsha, Christoph.
>>>
>>> kindly see the new webrev incorporating review comments.
>>>
>>> webrev: 
>>> http://cr.openjdk.java.net/~uvangapally/webrev/2017/8044122/webrev.02/
>>>
>>> csr : https://bugs.openjdk.java.net/browse/JDK-8189091
>>>
>>> Ujwal.
>>>
>>>
>>> On 10/24/2017 10:50 PM, mandy chung wrote:
>>>> The permission check should be done separately, if needed. 
>>>> Otherwise, the frames in the stack when this method is called must 
>>>> have the security permission granted.
>>>>
>>>> Mandy
>>>>
>>>> On 10/23/17 1:00 PM, Bernd Eckenfels wrote:
>>>>> Hello,
>>>>>
>>>>> When running this privileged it means one can bypass the 
>>>>> permission by using the MBean, is that intentional? (Besides it is 
>>>>> already available as the JMVID)
>>>>>
>>>>> Gruss
>>>>> Bernd
>>>>> -- 
>>>>> http://bernd.eckenfels.net
>>>>> ------------------------------------------------------------------------
>>>>> *From:* serviceability-dev 
>>>>> <serviceability-dev-bounces at openjdk.java.net> on behalf of mandy 
>>>>> chung <mandy.chung at oracle.com>
>>>>> *Sent:* Friday, October 20, 2017 4:42:00 PM
>>>>> *To:* Ujwal Vangapally; Roger Riggs
>>>>> *Cc:* serviceability-dev
>>>>> *Subject:* Re: RFR : JDK-8044122 MBean access to the PID
>>>>> Process::pid may throw SecurityException.  You have to wrap the call
>>>>> with doPrivileged.   Process::pid can throw UOE on platform that 
>>>>> doesn't
>>>>> support this operation.  RuntimeMXBean::getPid should specify when 
>>>>> the
>>>>> platform does not support this operation.
>>>>>
>>>>> ProcessIdTest - can you also check if getName contains the pid 
>>>>> matching
>>>>> the value of getPid()?
>>>>>
>>>>> Mandy
>>>>>
>>>>> On 10/20/17 2:07 AM, Ujwal Vangapally wrote:
>>>>> > kindly see the new webrev incorporating review comments.
>>>>> >
>>>>> > webrev:
>>>>> > 
>>>>> http://cr.openjdk.java.net/~uvangapally/webrev/2017/8044122/webrev.01/ 
>>>>> <http://cr.openjdk.java.net/%7Euvangapally/webrev/2017/8044122/webrev.01/>
>>>>> >
>>>>> > Thanks,
>>>>> >
>>>>> > Ujwal.
>>>>> >
>>>>> >
>>>>> > On 10/11/2017 3:50 PM, Ujwal Vangapally wrote:
>>>>> >> Thanks for the review and suggestions Mandy, Roger.
>>>>> >>
>>>>> >> kindly see my comments inline.
>>>>> >>
>>>>> >>
>>>>> >> On 10/10/2017 11:25 PM, Roger Riggs wrote:
>>>>> >>> Hi Ujwal,
>>>>> >>>
>>>>> >>> In the implementation RuntimeMXBean.java: 72:  Include a message
>>>>> >>> "getProcessId" in the throw new Unsupported...
>>>>> >>> In the text and @return change "PID" to "process ID" as Alan 
>>>>> suggested.
>>>>> >>> 66: the @implSpec should be on its own line so the text starts 
>>>>> on a
>>>>> >>> new line to make the source more readable.
>>>>> >>>
>>>>> >>> Adding a test for getProcessId() should fit into one of the 
>>>>> existing
>>>>> >>> tests that spawns and then checks
>>>>> >>> the attributes of a vm.  Perhaps MXBeanInteropTest1.java
>>>>> >> I will make changes as suggested.
>>>>> >>>
>>>>> >>> Roger
>>>>> >>>
>>>>> >>>
>>>>> >>>
>>>>> >>> On 10/10/2017 1:20 PM, mandy chung wrote:
>>>>> >>>>
>>>>> >>>>
>>>>> >>>> On 10/10/17 4:47 AM, Ujwal Vangapally wrote:
>>>>> >>>>> Kindly review the changes made.
>>>>> >>>>>
>>>>> >>>>> https://bugs.openjdk.java.net/browse/JDK-8044122
>>>>> >>>>>
>>>>> >>>>> webrev :
>>>>> >>>>> 
>>>>> http://cr.openjdk.java.net/~uvangapally/webrev/2017/8044122/webrev.00/ 
>>>>> <http://cr.openjdk.java.net/%7Euvangapally/webrev/2017/8044122/webrev.00/> 
>>>>>
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>
>>>>> >>>> RuntimeMXBean.java
>>>>> >>>>    @since is missing
>>>>> >>>>
>>>>> >> I will add it.
>>>>> >>>>    Process::pid is long rather than int. The javadoc for this
>>>>> >>>> method should be consistent with Process::pid, as Alan points 
>>>>> out.
>>>>> >> will do it.
>>>>> >>>>
>>>>> >>>> VMManagementImpl.java
>>>>> >>>>     I think getProcessId should probably be replaced to 
>>>>> implement
>>>>> >>>> with ProcessHandle.current().pid();
>>>>> >>>>
>>>>> >> you mean it would be better to use 
>>>>> ProcessHandle.current().pid(); in
>>>>> >> RuntimeImpl.java instead of jvm.getVmPid();
>>>>> >>
>>>>> >> kindly clarify.
>>>>> >>>> Please include an unit test for it.
>>>>> >>>>
>>>>> >> will it be sufficient to add it to existing test 
>>>>> MXBeanInteropTest1.java
>>>>> >>
>>>>> >> System.out.println("getName\t\t"
>>>>> >>                      + runtime.getName());
>>>>> >> + System.out.println("getPid\t\t"
>>>>> >> +                    + runtime.getPid());
>>>>> >> System.out.println("getSpecName\t\t"
>>>>> >>                      + runtime.getSpecName());
>>>>> >>
>>>>> >>>> Mandy
>>>>> >>>
>>>>> >>
>>>>> >> Ujwal
>>>>> >
>>>>>
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20171027/b1e8387f/attachment-0001.html>


More information about the serviceability-dev mailing list