RFR: JDK-8163185: jhsdb jstack cannot work with normal mode
David Holmes
david.holmes at oracle.com
Fri Aug 5 05:49:22 UTC 2016
On 5/08/2016 12:24 AM, Yasumasa Suenaga wrote:
> Hi all,
>
> This review request is related to [1].
>
> "jhsdb jstack" should work as normal mode without being added --mixed
> option.
> However, this command always works as mixed mode.
So it seems to me the JStack class has a very poorly designed API and
command-line interface. It appears that jstack wants to default to
mixedMode and concurrentLocks, but provides no means to disable those
defaults. Given there is no way to turn those settings off from the
commad-line then the default should be that they are off! Then you would
not need current proposed change.
That said the proposed fix effectively disables those defaults, which
seems to me to be a change in behaviour.
I can't see a way to fix this without breaking existing behaviour
somewhere. In which case I would change the way the JStack instance is
initialized by default ie:
public JStack() {
this(true, true);
}
becomes:
public JStack() {
this(false, false);
}
Or it may be better to handle this on the jhsdb side and change this:
JStack.main(newArgs.toArray(new String[newArgs.size()]));
to
JStack js = new jstack(false,false);
js.runWithArgs(newArgs.toArray(new String[newArgs.size()]));
Cheers,
David
> So I uploaded webrev for this issue. Could you review it?
>
> http://cr.openjdk.java.net/~ysuenaga/JDK-8163185/webrev.00/
>
>
> I'm jdk 9 reviewer (ysuenaga), but I cannot access JPRT.
> So I need a sponsor.
>
>
> Thanks,
>
> Yasumasa
>
>
> [1]
> http://mail.openjdk.java.net/pipermail/serviceability-dev/2016-August/020087.html
>
More information about the serviceability-dev
mailing list