RFR: 8263635: Add --prefix option to jhsdb debugd [v2]

Chris Plummer cjplummer at openjdk.java.net
Fri May 14 04:10:43 UTC 2021


On Fri, 14 May 2021 00:51:12 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:

>> I think this is better, but I think better help output is needed. `prefix` has a default and `unique_id` does not. I think both of these need to be mentioned in the help output. Also, if `unique_id` is not specified, then the value of `prefix` is the name of the RMI object, which seems a bit odd because it is suppose to be a prefix to a name, not the entire name.
>> 
>> I think maybe the property name of `sun.jvm.hotspot.rmi.serverNamePrefix` was not a good choice, and is making it harder to come up with good argument names and syntax. If designing this from scratch, I would have called it `sun.jvm.hotspot.rmi.serverName`, and then appending an optional `unique_id` to it would make more sense.
>> 
>> What if instead of `prefix` you used `servername` and possibly also rename `sun.jvm.hotspot.rmi.serverNamePrefix` to `sun.jvm.hotspot.rmi.serverName`, but also keep legacy support in case someone is already using `sun.jvm.hotspot.rmi.serverNamePrefix` and decides to set it?
>
>> I think maybe the property name of sun.jvm.hotspot.rmi.serverNamePrefix was not a good choice, and is making it harder to come up with good argument names and syntax. If designing this from scratch, I would have called it sun.jvm.hotspot.rmi.serverName, and then appending an optional unique_id to it would make more sense.
> 
> Agree.
> 
>> What if instead of prefix you used servername and possibly also rename sun.jvm.hotspot.rmi.serverNamePrefix to sun.jvm.hotspot.rmi.serverName, but also keep legacy support in case someone is already using sun.jvm.hotspot.rmi.serverNamePrefix and decides to set it?
> 
> Sounds good if we can do so! Indeed we need to send CSR for this issue, so we can do it.
> We do not need to think to pass parameters via system properties because we have SALauncher. So I think against this issue as following. Is it ok?
> 
> * Add `--servername` option to debugd
>     * debugd help describes about this as "instance name of debugd server"
>     * man page of jhsdb describes that it is used for RMI object name, and describes "SARemoteDebugger" is set by default.
> * Connection string is `[unique_id@]host[:port][/servername]`
> * Change the description for `--serverid` in man page to "This is required if multiple debug servers are run on the same server instance. It would be added to RMI object name for server instance."
>     * Will not change the help message because it seems to be enough to describe abstraction (A unique identifier for this debug server)
> * Declare that `sun.jvm.hotspot.rmi.serverNamePrefix` will be deprecated in the CSR, and show the warning if it is set

We already have a CSR. I think it can cover both the addition of `--servername` and the rename of `serverNamePrefix`.

We need to be more consistent with the use of `serverid`. Between the man page, help output, and code we call use `serverid`, `<id>` and `uniqueID`. We should use `serverid` in all cases.

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

PR: https://git.openjdk.java.net/jdk/pull/3669


More information about the serviceability-dev mailing list