Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v16]

2024-04-04 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains 25 commits:

 - Merge remote-tracking branch 'upstream/master' into 
832_SubjectDelegation_remove
 - Merge
 - Missing code doc nit.
 - Missing code doc nit.
 - RMIConnectionImpl_Stub also should explicity inherit the unchecked UOE.
 - Clarify JMXConnector equivalence comment.
 - RMIConnectionImpl needs to explicity inherit the unchecked UOE.
 - typo
 - Javadoc update
 - Remove unnecessary constructor in private class
 - ... and 15 more: https://git.openjdk.org/jdk/compare/b9da1401...7fec01c7

-

Changes: https://git.openjdk.org/jdk/pull/18025/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=15
  Stats: 2026 lines in 35 files changed: 214 ins; 1632 del; 180 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v15]

2024-03-26 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains 24 commits:

 - Merge
 - Missing code doc nit.
 - Missing code doc nit.
 - RMIConnectionImpl_Stub also should explicity inherit the unchecked UOE.
 - Clarify JMXConnector equivalence comment.
 - RMIConnectionImpl needs to explicity inherit the unchecked UOE.
 - typo
 - Javadoc update
 - Remove unnecessary constructor in private class
 - Merge remote-tracking branch 'upstream/master' into 
832_SubjectDelegation_remove
 - ... and 14 more: https://git.openjdk.org/jdk/compare/cc1800fa...903ce55b

-

Changes: https://git.openjdk.org/jdk/pull/18025/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=14
  Stats: 2026 lines in 35 files changed: 214 ins; 1632 del; 180 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v14]

2024-03-15 Thread Daniel Fuchs
On Thu, 14 Mar 2024 21:44:52 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Missing code doc nit.

Marked as reviewed by dfuchs (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/18025#pullrequestreview-1938513465


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v14]

2024-03-14 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with one additional 
commit since the last revision:

  Missing code doc nit.

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/64c9c64a..43b10a12

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=13
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=12-13

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v13]

2024-03-14 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with one additional 
commit since the last revision:

  Missing code doc nit.

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/91ec015f..64c9c64a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=12
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=11-12

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v12]

2024-03-14 Thread Mandy Chung
On Thu, 14 Mar 2024 12:23:09 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   RMIConnectionImpl_Stub also should explicity inherit the unchecked UOE.

The spec updates are good with me.   Caught one formatting nit in the 
`RMIConnection` class spec.

src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java
 line 85:

> 83:  *
> 84:  * JMX Subject Delegation has been removed. All methods that take a
> 85:  * delegationSubject parameter will throw UnsupportedOperationException if

Suggestion:

 * delegation subject parameter will throw {@code 
UnsupportedOperationException} if

-

Marked as reviewed by mchung (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/18025#pullrequestreview-1937202285
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1525173122


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]

2024-03-14 Thread Kevin Walls
On Mon, 11 Mar 2024 15:19:08 GMT, Daniel Fuchs  wrote:

>>> Is there any value in keeping `SubjectDelegationPermission` after this 
>>> change? If so, I would mark that API deprecated for removal, so that it can 
>>> be removed in the next release or two.
>> 
>> No, nothing uses SubjectDelegationPermission.  That can be deprecated.
>> 
>>> Are there remaining tests that test the JMX fine grained permissions 
>>> feature w/o depending on subject delegation?
>> 
>> Yes there are some tests other than those changed here, which use 
>> MBeanPermission in policies and become irrelevant post-SM.
>
>> Is there any value in keeping `SubjectDelegationPermission` after this 
>> change? If so, I would mark that API deprecated for removal, so that it can 
>> be removed in the next release or two.
> 
> No issue with deprecation. I guess it can be removed once 
> `java.security.Policy` is removed?

Thanks @dfuch for the comments and review. 8-)

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1997329701


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v12]

2024-03-14 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with one additional 
commit since the last revision:

  RMIConnectionImpl_Stub also should explicity inherit the unchecked UOE.

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/418b635c..91ec015f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=11
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=10-11

  Stats: 25 lines in 1 file changed: 24 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v11]

2024-03-14 Thread Daniel Fuchs
On Thu, 14 Mar 2024 11:53:11 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - Clarify JMXConnector equivalence comment.
>  - RMIConnectionImpl needs to explicity inherit the unchecked UOE.

Marked as reviewed by dfuchs (Reviewer).

-

PR Review: https://git.openjdk.org/jdk/pull/18025#pullrequestreview-1936454653


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v11]

2024-03-14 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with two additional 
commits since the last revision:

 - Clarify JMXConnector equivalence comment.
 - RMIConnectionImpl needs to explicity inherit the unchecked UOE.

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/a3e09e90..418b635c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=10
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=09-10

  Stats: 32 lines in 2 files changed: 31 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v10]

2024-03-13 Thread Kevin Walls
On Wed, 13 Mar 2024 17:39:24 GMT, Mandy Chung  wrote:

> The spec change looks good to me. I leave to others to review the 
> implementation and test changes.

Thanks!

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1995445698


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v10]

2024-03-13 Thread Mandy Chung
On Tue, 12 Mar 2024 19:58:24 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   typo

The spec change looks good to me.I leave to others to review the 
implementation and test changes.

src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java
 line 85:

> 83:  *
> 84:  * JMX Subject Delegation has been removed. All methods that take a
> 85:  * delegationSubject parameter will throw UnsupportedOperationException if

Suggestion:

 * JMX Subject Delegation has been removed. All methods that take a
 * delegation subject parameter will throw {@code 
UnsupportedOperationException} if

-

Marked as reviewed by mchung (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/18025#pullrequestreview-1934819628
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1523673795


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v10]

2024-03-12 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with one additional 
commit since the last revision:

  typo

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/15717fbe..a3e09e90

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=09
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=08-09

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-12 Thread Kevin Walls
On Tue, 12 Mar 2024 15:38:37 GMT, Kevin Walls  wrote:

>> It's a good suggestion.   Something like this:
>> 
>> All methods that take a `Subject` parameter will throw UOE if called with a 
>> non-null subject delegation.  JMX subject delegation feature is no longer 
>> supported.
>
> OK sure -- didn't want to make the individual delegationSubject mentions too 
> terse, but if there is some earlier text then that could be OK...

Thanks, updating with those changes. Additionally, in JMXConnector I'm removing 
the text "Calling this method is equivalent to calling getMBSC(null)..." as 
that is pointless, and possibly misleading now.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1522024836


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v9]

2024-03-12 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with one additional 
commit since the last revision:

  Javadoc update

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/7ae77376..15717fbe

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=08
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=07-08

  Stats: 89 lines in 2 files changed: 5 ins; 33 del; 51 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-12 Thread Kevin Walls
On Mon, 11 Mar 2024 19:24:20 GMT, Mandy Chung  wrote:

>> Maybe mention there too that the delegationSubject parameter is kept for 
>> interoperability with older remote clients.
>
> It's a good suggestion.   Something like this:
> 
> All methods that take a `Subject` parameter will throw UOE if called with a 
> non-null subject delegation.  JMX subject delegation feature is no longer 
> supported.

OK sure -- didn't want to make the individual delegationSubject mentions too 
terse, but if there is some earlier text then that could be OK...

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1521699619


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-12 Thread Kevin Walls
On Mon, 11 Mar 2024 17:49:34 GMT, Mandy Chung  wrote:

>> Kevin Walls has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   (C) oops
>
> src/java.management/share/classes/javax/management/remote/JMXConnector.java 
> line 139:
> 
>> 137: /**
>> 138:  * This method remains for compatibility reasons, but has no 
>> more meaning
>> 139:  * than {@link #getMBeanServerConnection()}.
> 
> Suggestion:
> 
>  * This method is equivalent to calling {@link 
> #getMBeanServerConnection()}.

ok

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1521667592


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-12 Thread Kevin Walls
On Mon, 11 Mar 2024 17:10:34 GMT, Daniel Fuchs  wrote:

>> Kevin Walls has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   (C) oops
>
> src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java
>  line 618:
> 
>> 616: throw new SecurityException("Subject Delegation has 
>> been removed.");
>> 617: }
>> 618: }
> 
> Can't this constructor be removed? It's a private inner class so we should be 
> able to throw before calling that constructor?

Yes that can disappear with no impact.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1521324287


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v8]

2024-03-12 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request with a new target base due to a merge 
or a rebase. The incremental webrev excludes the unrelated changes brought in 
by the merge/rebase. The pull request contains 16 additional commits since the 
last revision:

 - Remove unnecessary constructor in private class
 - Merge remote-tracking branch 'upstream/master' into 
832_SubjectDelegation_remove
 - (C) oops
 - Clarify deprecation comment.
 - typo
 - Remove additional passing of delegatedSubject in ClientListenerInfo and 
ClientNotifForwarder
 - Test specifically that UOE is thrown.
 - Test that SubjectDelegation is refused.
 - Update doc comments for RMIConnection.  Additional throw for 
delegationSubjects array.
 - JMXConnector.getMBeanServer(ds) doc update
 - ... and 6 more: https://git.openjdk.org/jdk/compare/df1aab1c...7ae77376

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/f5794c43..7ae77376

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=07
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=06-07

  Stats: 98336 lines in 2041 files changed: 16429 ins; 75917 del; 5990 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-12 Thread Kevin Walls
On Mon, 11 Mar 2024 17:22:57 GMT, Daniel Fuchs  wrote:

>> Kevin Walls has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   (C) oops
>
> test/jdk/javax/management/remote/mandatory/notif/DeadListenerTest.java line 
> 78:
> 
>> 76: cs.start();
>> 77: JMXServiceURL addr = cs.getAddress();
>> 78: assertTrue("Expected no connections in new connector server", 
>> rmiServer.connections.isEmpty());
> 
> Changes to this file seem unrelated to the removal of the feature - could you 
> confirm that they were intended (no issue if they were intended).

Yes, they were intentional, should have made that clear.  I had a failure from 
this test at some point, and the assert message made no sense to me.
e.g. "New value of count1 == 1" is shown, but that's what was expected and not 
what was seen.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1521290618


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]

2024-03-11 Thread Sean Mullan
On Mon, 11 Mar 2024 15:19:08 GMT, Daniel Fuchs  wrote:

> > Is there any value in keeping `SubjectDelegationPermission` after this 
> > change? If so, I would mark that API deprecated for removal, so that it can 
> > be removed in the next release or two.
> 
> No issue with deprecation. I guess it can be removed once 
> `java.security.Policy` is removed?

Yes, or to be more precise, when the `JavaPolicy` implementation of 
`java.security.Policy` is removed.

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1989444321


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-11 Thread Mandy Chung
On Mon, 11 Mar 2024 18:49:43 GMT, Daniel Fuchs  wrote:

>> I was wondering if we should add a note at the class-level API documentation 
>> to say that subject delegation has been removed (or is no longer supported), 
>> and that methods will throw UOE if a non-null delegation subject is passed. 
>> It is otherwise strange to see a parameter that must be null. It could be 
>> worthwhile to mention it just once, at the class-level API.
>
> Maybe mention there too that the delegationSubject parameter is kept for 
> interoperability with older remote clients.

It's a good suggestion.   Something like this:

All methods that take a `Subject` parameter will throw UOE if called with a 
non-null subject delegation.  JMX subject delegation feature is no longer 
supported.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520310935


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-11 Thread Daniel Fuchs
On Mon, 11 Mar 2024 18:39:38 GMT, Daniel Fuchs  wrote:

>> src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java
>>  line 126:
>> 
>>> 124:  * @param className The class name of the MBean to be instantiated.
>>> 125:  * @param name The object name of the MBean. May be null.
>>> 126:  * @param delegationSubject No longer supported and should be null.
>> 
>> I think it can be simplified to:
>> 
>> Suggestion:
>> 
>>  * @param delegationSubject must be {@code null}.
>> 
>> 
>> I see no need to mention this feature no longer supported as no one is using 
>> and will use this feature.
>> 
>> Same comment applies to all methods that take `delegationSubject`.
>
> I was wondering if we should add a note at the class-level API documentation 
> to say that subject delegation has been removed (or is no longer supported), 
> and that methods will throw UOE if a non-null delegation subject is passed. 
> It is otherwise strange to see a parameter that must be null. It could be 
> worthwhile to mention it just once, at the class-level API.

Maybe mention there too that the delegationSubject parameter is kept for 
interoperability with older remote clients.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520271921


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-11 Thread Daniel Fuchs
On Mon, 11 Mar 2024 17:56:50 GMT, Mandy Chung  wrote:

>> Kevin Walls has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   (C) oops
>
> src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java
>  line 126:
> 
>> 124:  * @param className The class name of the MBean to be instantiated.
>> 125:  * @param name The object name of the MBean. May be null.
>> 126:  * @param delegationSubject No longer supported and should be null.
> 
> I think it can be simplified to:
> 
> Suggestion:
> 
>  * @param delegationSubject must be {@code null}.
> 
> 
> I see no need to mention this feature no longer supported as no one is using 
> and will use this feature.
> 
> Same comment applies to all methods that take `delegationSubject`.

I was wondering if we should add a note at the class-level API documentation to 
say that subject delegation has been removed (or is no longer supported), and 
that methods will throw UOE if a non-null delegation subject is passed. It is 
otherwise strange to see a parameter that must be null. It could be worthwhile 
to mention it just once, at the class-level API.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520260840


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-11 Thread Mandy Chung
On Mon, 11 Mar 2024 10:09:28 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   (C) oops

src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java
 line 126:

> 124:  * @param className The class name of the MBean to be instantiated.
> 125:  * @param name The object name of the MBean. May be null.
> 126:  * @param delegationSubject No longer supported and should be null.

I think it can be simplified to:

Suggestion:

 * @param delegationSubject must be {@code null}.


I see no need to mention this feature no longer supported as no one is using 
and will use this feature.

Same comment applies to all methods that take `delegationSubject`.

src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java
 line 157:

> 155:  * @throws IOException if a general communication exception occurred.
> 156:  * @throws UnsupportedOperationException if a non-null 
> delegationSubject
> 157:  * is specified. Subject Delegation has been removed.

This can be simplified to:

Suggestion:

 * @throws UnsupportedOperationException if {@code delegationSubject} is 
non-null


Same comment applies to all methods that take `delegationSubject`.

src/java.management/share/classes/javax/management/remote/JMXConnector.java 
line 139:

> 137: /**
> 138:  * This method remains for compatibility reasons, but has no more 
> meaning
> 139:  * than {@link #getMBeanServerConnection()}.

Suggestion:

 * This method is equivalent to calling {@link 
#getMBeanServerConnection()}.

src/java.management/share/classes/javax/management/remote/JMXConnector.java 
line 142:

> 140:  *
> 141:  * @param delegationSubject must be null, since the removal of the
> 142:  * Subject Delegation feature.

Suggestion:

 * @param delegationSubject must be {@code null}

src/java.management/share/classes/javax/management/remote/JMXConnector.java 
line 153:

> 151:  *
> 152:  * @exception UnsupportedOperationException if a non-null 
> delegationSubject
> 153:  * is specified. Subject Delegation has been removed.

Suggestion:

 * @exception UnsupportedOperationException if {@code delegationSubject} is 
non-null.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520188392
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520183154
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520165902
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520166471
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520170490


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-11 Thread Daniel Fuchs
On Mon, 11 Mar 2024 10:09:28 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   (C) oops

src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnector.java
 line 618:

> 616: throw new SecurityException("Subject Delegation has been 
> removed.");
> 617: }
> 618: }

Can't this constructor be removed? It's a private inner class so we should be 
able to throw before calling that constructor?

test/jdk/javax/management/remote/mandatory/notif/DeadListenerTest.java line 78:

> 76: cs.start();
> 77: JMXServiceURL addr = cs.getAddress();
> 78: assertTrue("Expected no connections in new connector server", 
> rmiServer.connections.isEmpty());

Changes to this file seem unrelated to the removal of the feature - could you 
confirm that they were intended (no issue if they were intended).

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520108369
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1520127466


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]

2024-03-11 Thread Daniel Fuchs
On Fri, 8 Mar 2024 10:20:36 GMT, Kevin Walls  wrote:

> Is there any value in keeping `SubjectDelegationPermission` after this 
> change? If so, I would mark that API deprecated for removal, so that it can 
> be removed in the next release or two.

No issue with deprecation. I guess it can be removed once 
`java.security.Policy` is removed?

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1988693902


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v7]

2024-03-11 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with one additional 
commit since the last revision:

  (C) oops

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/4beae2f2..f5794c43

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=06
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=05-06

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v6]

2024-03-11 Thread Kevin Walls
On Fri, 8 Mar 2024 22:04:28 GMT, Weijun Wang  wrote:

> Missing `,` after 2024.

oops, thanks!

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1519459149


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v6]

2024-03-08 Thread Weijun Wang
On Thu, 7 Mar 2024 22:00:13 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with three additional 
> commits since the last revision:
> 
>  - Clarify deprecation comment.
>  - typo
>  - Remove additional passing of delegatedSubject in ClientListenerInfo and 
> ClientNotifForwarder

src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
 line 2:

> 1: /*
> 2:  * Copyright (c) 2002, 2024 Oracle and/or its affiliates. All rights 
> reserved.

Missing `,` after 2024.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1518357791


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]

2024-03-08 Thread Kevin Walls
On Thu, 7 Mar 2024 19:58:35 GMT, Sean Mullan  wrote:

> Is there any value in keeping `SubjectDelegationPermission` after this 
> change? If so, I would mark that API deprecated for removal, so that it can 
> be removed in the next release or two.

No, nothing uses SubjectDelegationPermission.  That can be deprecated.

> Are there remaining tests that test the JMX fine grained permissions feature 
> w/o depending on subject delegation?

Yes there are some tests other than those changed here, which use 
MBeanPermission in policies and become irrelevant post-SM.

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1985429423


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v6]

2024-03-07 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with three additional 
commits since the last revision:

 - Clarify deprecation comment.
 - typo
 - Remove additional passing of delegatedSubject in ClientListenerInfo and 
ClientNotifForwarder

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/c5256c3f..4beae2f2

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=04-05

  Stats: 54 lines in 5 files changed: 0 ins; 25 del; 29 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]

2024-03-07 Thread Kevin Walls
On Thu, 7 Mar 2024 20:07:57 GMT, Sean Mullan  wrote:

>> Kevin Walls has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Test specifically that UOE is thrown.
>
> src/java.management/share/classes/javax/management/remote/JMXConnector.java 
> line 153:
> 
>> 151:  *
>> 152:  * @exception UnsupportedOperationException if a non-null 
>> delegationSubject
>> 153:  * is specifed. Subject Delegation has been removed.
> 
> Typo: s/specifed/specified/

got it thanks.

> src/java.management/share/classes/javax/management/remote/JMXConnector.java 
> line 158:
> 
>> 156:  * and is only useful in conjunction with other APIs which are 
>> deprecated and
>> 157:  * subject to removal in a future release. Consequently, this 
>> method is also
>> 158:  * deprecated and subject to removal. There is no replacement.
> 
> Maybe you want to change this text to be more direct here that subject 
> delegation is no longer supported and what this method now does.

Yes, that should be updated, the feature is gone with this change.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1516884990
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1516885582


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]

2024-03-07 Thread Sean Mullan
On Wed, 6 Mar 2024 11:46:16 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Test specifically that UOE is thrown.

src/java.management/share/classes/javax/management/remote/JMXConnector.java 
line 153:

> 151:  *
> 152:  * @exception UnsupportedOperationException if a non-null 
> delegationSubject
> 153:  * is specifed. Subject Delegation has been removed.

Typo: s/specifed/specified/

src/java.management/share/classes/javax/management/remote/JMXConnector.java 
line 158:

> 156:  * and is only useful in conjunction with other APIs which are 
> deprecated and
> 157:  * subject to removal in a future release. Consequently, this method 
> is also
> 158:  * deprecated and subject to removal. There is no replacement.

Maybe you want to change this text to be more direct here that subject 
delegation is no longer supported and what this method now does.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1516758560
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1516761404


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]

2024-03-07 Thread Sean Mullan
On Wed, 6 Mar 2024 11:46:16 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Test specifically that UOE is thrown.

Are there remaining tests that test the JMX fine grained permissions feature 
w/o depending on subject delegation?

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1984329809


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]

2024-03-07 Thread Sean Mullan
On Wed, 6 Mar 2024 11:46:16 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Test specifically that UOE is thrown.

Is there any value in keeping `SubjectDelegationPermission` after this change? 
If so, I would mark that API deprecated for removal, so that it can be removed 
in the next release or two.

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1984324717


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v5]

2024-03-06 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with one additional 
commit since the last revision:

  Test specifically that UOE is thrown.

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/19ace691..c5256c3f

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=03-04

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v4]

2024-03-06 Thread Kevin Walls
On Wed, 6 Mar 2024 11:42:18 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Test that SubjectDelegation is refused.

Added a test to ensure  jmxc.getMBeanServerConnection(delegationSubject) throws 
UnsupportedOperationException.

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1980688614


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v4]

2024-03-06 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with one additional 
commit since the last revision:

  Test that SubjectDelegation is refused.

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/c607b69a..19ace691

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=02-03

  Stats: 115 lines in 1 file changed: 115 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v2]

2024-03-04 Thread Kevin Walls
On Mon, 4 Mar 2024 13:37:53 GMT, Alan Bateman  wrote:

>> Kevin Walls has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   RMIConnection comments update
>
> src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java
>  line 126:
> 
>> 124:  * @param className The class name of the MBean to be instantiated.
>> 125:  * @param name The object name of the MBean. May be null.
>> 126:  * @param delegationSubject No longer supported and should be null.
> 
> I think this interface will require all methods that take a delegation 
> subject to specify UOE when the subject is not null. Yes, this will 
> invalidate implementations that are outside of the JDK but such 
> implementations need to be updated anyway.

Yes, updated.

> src/java.management/share/classes/javax/management/remote/JMXConnector.java 
> line 158:
> 
>> 156:  */
>> 157: @Deprecated(since="21", forRemoval=true)
>> 158: public default MBeanServerConnection 
>> getMBeanServerConnection(Subject delegationSubject)
> 
> Specifying the UOE in the param description is problematic. I think you want 
> to specify delegationSubject as not used, must be null, then declare UOE as 
> one of the exceptions thrown by the method.

Thanks,  updated.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1511402928
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1511401561


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v3]

2024-03-04 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with two additional 
commits since the last revision:

 - Update doc comments for RMIConnection.  Additional throw for 
delegationSubjects array.
 - JMXConnector.getMBeanServer(ds) doc update

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/8635a3a5..c607b69a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=01-02

  Stats: 102 lines in 3 files changed: 53 ins; 1 del; 48 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v2]

2024-03-04 Thread Daniel Fuchs
On Mon, 4 Mar 2024 13:24:05 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   RMIConnection comments update

In addition to Alan's remarks I believe we need new tests to verify the new 
behavior.

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1976841428


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v2]

2024-03-04 Thread Alan Bateman
On Mon, 4 Mar 2024 13:24:05 GMT, Kevin Walls  wrote:

>> The deprecated Subject Delegation feature in JMX will be removed.
>> 
>> This was marked in JDK 21 as deprecated for removal (JDK-8298966).
>
> Kevin Walls has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   RMIConnection comments update

src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnection.java
 line 126:

> 124:  * @param className The class name of the MBean to be instantiated.
> 125:  * @param name The object name of the MBean. May be null.
> 126:  * @param delegationSubject No longer supported and should be null.

I think this interface will require all methods that take a delegation subject 
to specify UOE then the subject is not null. Yes, this will invalidate 
implementations that are outside of the JDK but such implementations need to be 
updated anyway.

src/java.management/share/classes/javax/management/remote/JMXConnector.java 
line 158:

> 156:  */
> 157: @Deprecated(since="21", forRemoval=true)
> 158: public default MBeanServerConnection 
> getMBeanServerConnection(Subject delegationSubject)

Specifying the UOE in the param description is problematic. I think you want to 
specify delegationSubject as not used, must be null, then declare UOE as one of 
the exceptions thrown by the method.

-

PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1511174715
PR Review Comment: https://git.openjdk.org/jdk/pull/18025#discussion_r1511172106


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature [v2]

2024-03-04 Thread Kevin Walls
> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

Kevin Walls has updated the pull request incrementally with one additional 
commit since the last revision:

  RMIConnection comments update

-

Changes:
  - all: https://git.openjdk.org/jdk/pull/18025/files
  - new: https://git.openjdk.org/jdk/pull/18025/files/f236ae82..8635a3a5

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=00-01

  Stats: 78 lines in 1 file changed: 0 ins; 51 del; 27 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025


Re: RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature

2024-03-01 Thread Kevin Walls
On Tue, 27 Feb 2024 10:44:20 GMT, Kevin Walls  wrote:

> The deprecated Subject Delegation feature in JMX will be removed.
> 
> This was marked in JDK 21 as deprecated for removal (JDK-8298966).

This covers the public interface to the feature, and tests.

Locally the feature is refused during a call to getMBeanServerConnection(with a 
non-null delegationSubject).

Remotely, `javax.management.remote.rmi.RMIConnectionImpl` has methods which 
accept a Subject parameter for Subject Delegation.  This cannot now be non-null 
in local usage, but an RMI Connection from an older JDK can invoke these 
methods with a non-null delegationSubject.  Such access will be recognised and 
an UnsupportedOperationException will be thrown (which the client will see).

RMIConnectionImpl can be simplified, and the class SubjectDelegator removed.

JMXSubjectDomainCombiner I would like to remove separately after this is done.

-

PR Comment: https://git.openjdk.org/jdk/pull/18025#issuecomment-1972845693


RFR: 8326666: Remove the Java Management Extension (JMX) Subject Delegation feature

2024-03-01 Thread Kevin Walls
The deprecated Subject Delegation feature in JMX will be removed.

This was marked in JDK 21 as deprecated for removal (JDK-8298966).

-

Commit messages:
 - JMXConnector to throw UnsupportedOperationException
 - RMIConnectionImpl to throw when RMI calls invoke with delegatedSubject.  
Removal of SubjectDelegator class.
 - Use default method.
 - Remove delegationSubject from private class RemoteMBeanServerConnection
 - 832: Remove the Java Management Extension (JMX) Subject Delegation 
feature

Changes: https://git.openjdk.org/jdk/pull/18025/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18025&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-832
  Stats: 1642 lines in 29 files changed: 18 ins; 1547 del; 77 mod
  Patch: https://git.openjdk.org/jdk/pull/18025.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18025/head:pull/18025

PR: https://git.openjdk.org/jdk/pull/18025