From kevinw at openjdk.org Thu Jan 9 12:40:00 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 9 Jan 2025 12:40:00 GMT Subject: jmx-dev RFR: 8347345: Remove redundant test policy file from ModelMBeanInfoSupport directory Message-ID: A redundant policy file exists, it is unused and must have been missed during: 8338411: Implement JEP 486: Permanently Disable the Security Manager Test in test/jdk/javax/management/modelmbean/ModelMBeanInfoSupport still passes after this change. ------------- Commit messages: - remove old policy file Changes: https://git.openjdk.org/jdk/pull/23002/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23002&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8347345 Stats: 14 lines in 1 file changed: 0 ins; 14 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/23002.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23002/head:pull/23002 PR: https://git.openjdk.org/jdk/pull/23002 From mbaesken at openjdk.org Thu Jan 9 15:18:49 2025 From: mbaesken at openjdk.org (Matthias Baesken) Date: Thu, 9 Jan 2025 15:18:49 GMT Subject: jmx-dev RFR: 8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero Message-ID: When running ubsan-enabled binaries on macOS aarch64, in test javax/management/MBeanServer/OldMBeanServerTest.java the following division by zero is shown : src/jdk.management/macosx/native/libmanagement_ext/UnixOperatingSystem.c:67:40: runtime error: division by zero UndefinedBehaviorSanitizer:DEADLYSIGNAL UndefinedBehaviorSanitizer: nested bug in the same thread, aborting. We should add special handling for the case ` (total_delta == 0)` . ------------- Commit messages: - JDK-8347267 Changes: https://git.openjdk.org/jdk/pull/23010/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23010&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8347267 Stats: 4 lines in 1 file changed: 3 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/23010.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23010/head:pull/23010 PR: https://git.openjdk.org/jdk/pull/23010 From rriggs at openjdk.org Thu Jan 9 16:43:35 2025 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 9 Jan 2025 16:43:35 GMT Subject: jmx-dev RFR: 8347345: Remove redundant test policy file from ModelMBeanInfoSupport directory In-Reply-To: References: Message-ID: On Thu, 9 Jan 2025 12:24:59 GMT, Kevin Walls wrote: > A redundant policy file exists, it is unused and must have been missed during: > 8338411: Implement JEP 486: Permanently Disable the Security Manager > > Test in test/jdk/javax/management/modelmbean/ModelMBeanInfoSupport still passes after this change. lgtm ------------- Marked as reviewed by rriggs (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23002#pullrequestreview-2540424234 From kevinw at openjdk.org Thu Jan 9 19:25:40 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 9 Jan 2025 19:25:40 GMT Subject: jmx-dev RFR: 8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero In-Reply-To: References: Message-ID: <9SzEuseztjsqQukSbuIP23kmuThvZ9vtK7BM4ntV0Hk=.8a6cfb5e-5b53-4d99-92b3-e180434da06a@github.com> On Thu, 9 Jan 2025 15:13:01 GMT, Matthias Baesken wrote: > When running ubsan-enabled binaries on macOS aarch64, in test > javax/management/MBeanServer/OldMBeanServerTest.java > the following division by zero is shown : > src/jdk.management/macosx/native/libmanagement_ext/UnixOperatingSystem.c:67:40: runtime error: division by zero > UndefinedBehaviorSanitizer:DEADLYSIGNAL > UndefinedBehaviorSanitizer: nested bug in the same thread, aborting. > > We should add special handling for the case ` (total_delta == 0)` . Hi, looks good. It is odd that this is never known to happen (zero ticks elapsed!) before, so we might wonder what ubsan is really changing here. But even if it only happens with ubsan, we can protect ourselves. 8-) (as long as we aren't changing too much to suit the tool -- we don't seem to be there yet!) ------------- Marked as reviewed by kevinw (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23010#pullrequestreview-2540756390 From cjplummer at openjdk.org Thu Jan 9 21:24:37 2025 From: cjplummer at openjdk.org (Chris Plummer) Date: Thu, 9 Jan 2025 21:24:37 GMT Subject: jmx-dev RFR: 8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero In-Reply-To: References: Message-ID: On Thu, 9 Jan 2025 15:13:01 GMT, Matthias Baesken wrote: > When running ubsan-enabled binaries on macOS aarch64, in test > javax/management/MBeanServer/OldMBeanServerTest.java > the following division by zero is shown : > src/jdk.management/macosx/native/libmanagement_ext/UnixOperatingSystem.c:67:40: runtime error: division by zero > UndefinedBehaviorSanitizer:DEADLYSIGNAL > UndefinedBehaviorSanitizer: nested bug in the same thread, aborting. > > We should add special handling for the case ` (total_delta == 0)` . Marked as reviewed by cjplummer (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23010#pullrequestreview-2540953217 From sspitsyn at openjdk.org Fri Jan 10 01:44:36 2025 From: sspitsyn at openjdk.org (Serguei Spitsyn) Date: Fri, 10 Jan 2025 01:44:36 GMT Subject: jmx-dev RFR: 8347345: Remove redundant test policy file from ModelMBeanInfoSupport directory In-Reply-To: References: Message-ID: <3HgCLyvvUvfpIJ8XLSsWAfpQVXYSOB3jOoydBH8_0aQ=.fe18264c-22a5-4ff3-a55b-096c5ca4806f@github.com> On Thu, 9 Jan 2025 12:24:59 GMT, Kevin Walls wrote: > A redundant policy file exists, it is unused and must have been missed during: > 8338411: Implement JEP 486: Permanently Disable the Security Manager > > Test in test/jdk/javax/management/modelmbean/ModelMBeanInfoSupport still passes after this change. Marked as reviewed by sspitsyn (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23002#pullrequestreview-2541394115 From kevinw at openjdk.org Fri Jan 10 08:02:50 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 10 Jan 2025 08:02:50 GMT Subject: jmx-dev Integrated: 8347345: Remove redundant test policy file from ModelMBeanInfoSupport directory In-Reply-To: References: Message-ID: On Thu, 9 Jan 2025 12:24:59 GMT, Kevin Walls wrote: > A redundant policy file exists, it is unused and must have been missed during: > 8338411: Implement JEP 486: Permanently Disable the Security Manager > > Test in test/jdk/javax/management/modelmbean/ModelMBeanInfoSupport still passes after this change. This pull request has now been integrated. Changeset: 8b076172 Author: Kevin Walls URL: https://git.openjdk.org/jdk/commit/8b076172a523ee9e845ee9d8b36e7d430206448c Stats: 14 lines in 1 file changed: 0 ins; 14 del; 0 mod 8347345: Remove redundant test policy file from ModelMBeanInfoSupport directory Reviewed-by: rriggs, sspitsyn ------------- PR: https://git.openjdk.org/jdk/pull/23002 From kevinw at openjdk.org Fri Jan 10 08:02:50 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 10 Jan 2025 08:02:50 GMT Subject: jmx-dev RFR: 8347345: Remove redundant test policy file from ModelMBeanInfoSupport directory In-Reply-To: References: Message-ID: On Thu, 9 Jan 2025 12:24:59 GMT, Kevin Walls wrote: > A redundant policy file exists, it is unused and must have been missed during: > 8338411: Implement JEP 486: Permanently Disable the Security Manager > > Test in test/jdk/javax/management/modelmbean/ModelMBeanInfoSupport still passes after this change. Thanks Roger, and Serguei! ------------- PR Comment: https://git.openjdk.org/jdk/pull/23002#issuecomment-2581997360 From mbaesken at openjdk.org Fri Jan 10 10:04:54 2025 From: mbaesken at openjdk.org (Matthias Baesken) Date: Fri, 10 Jan 2025 10:04:54 GMT Subject: jmx-dev Integrated: 8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero In-Reply-To: References: Message-ID: On Thu, 9 Jan 2025 15:13:01 GMT, Matthias Baesken wrote: > When running ubsan-enabled binaries on macOS aarch64, in test > javax/management/MBeanServer/OldMBeanServerTest.java > the following division by zero is shown : > src/jdk.management/macosx/native/libmanagement_ext/UnixOperatingSystem.c:67:40: runtime error: division by zero > UndefinedBehaviorSanitizer:DEADLYSIGNAL > UndefinedBehaviorSanitizer: nested bug in the same thread, aborting. > > We should add special handling for the case ` (total_delta == 0)` . This pull request has now been integrated. Changeset: 5e92a4ce Author: Matthias Baesken URL: https://git.openjdk.org/jdk/commit/5e92a4ceafd0626e3600e44a3370ca2f5d9347c8 Stats: 4 lines in 1 file changed: 3 ins; 0 del; 1 mod 8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero Reviewed-by: kevinw, cjplummer ------------- PR: https://git.openjdk.org/jdk/pull/23010 From mbaesken at openjdk.org Fri Jan 10 10:04:54 2025 From: mbaesken at openjdk.org (Matthias Baesken) Date: Fri, 10 Jan 2025 10:04:54 GMT Subject: jmx-dev RFR: 8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero In-Reply-To: References: Message-ID: On Thu, 9 Jan 2025 15:13:01 GMT, Matthias Baesken wrote: > When running ubsan-enabled binaries on macOS aarch64, in test > javax/management/MBeanServer/OldMBeanServerTest.java > the following division by zero is shown : > src/jdk.management/macosx/native/libmanagement_ext/UnixOperatingSystem.c:67:40: runtime error: division by zero > UndefinedBehaviorSanitizer:DEADLYSIGNAL > UndefinedBehaviorSanitizer: nested bug in the same thread, aborting. > > We should add special handling for the case ` (total_delta == 0)` . Thanks for the reviews ! ------------- PR Comment: https://git.openjdk.org/jdk/pull/23010#issuecomment-2582257304 From mbaesken at openjdk.org Fri Jan 10 12:30:57 2025 From: mbaesken at openjdk.org (Matthias Baesken) Date: Fri, 10 Jan 2025 12:30:57 GMT Subject: jmx-dev RFR: 8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero In-Reply-To: <9SzEuseztjsqQukSbuIP23kmuThvZ9vtK7BM4ntV0Hk=.8a6cfb5e-5b53-4d99-92b3-e180434da06a@github.com> References: <9SzEuseztjsqQukSbuIP23kmuThvZ9vtK7BM4ntV0Hk=.8a6cfb5e-5b53-4d99-92b3-e180434da06a@github.com> Message-ID: On Thu, 9 Jan 2025 19:23:07 GMT, Kevin Walls wrote: > Hi, looks good. It is odd that this is never known to happen (zero ticks elapsed!) before, so we might wonder what ubsan is really changing here. But even if it only happens with ubsan, we can protect ourselves. 8-) > > (as long as we aren't changing too much to suit the tool -- we don't seem to be there yet!) Running with ubsan just _shows_ the issue, but the issue is there also without ubsan. When running the test on macOS aarch64, product build and adding some check like this --- a/src/jdk.management/macosx/native/libmanagement_ext/UnixOperatingSystem.c +++ b/src/jdk.management/macosx/native/libmanagement_ext/UnixOperatingSystem.c @@ -31,6 +31,9 @@ #include "jvm.h" +#include +#include + JNIEXPORT jdouble JNICALL Java_com_sun_management_internal_OperatingSystemImpl_getCpuLoad0 (JNIEnv *env, jobject dummy) @@ -63,6 +66,11 @@ Java_com_sun_management_internal_OperatingSystemImpl_getCpuLoad0 jlong used_delta = used - last_used; jlong total_delta = total - last_total; + //assert(total_delta != 0); + if (total_delta == 0) { + printf("total_delta is 0!\n"); + exit(1); + } then I see the printf output ` total_delta is 0! ` also in 'normal' non-ubsan binaries when running javax/management/MBeanServer/OldMBeanServerTest.java . We probably just lived so far with the fact that sometimes we divide in this function by zero. ------------- PR Comment: https://git.openjdk.org/jdk/pull/23010#issuecomment-2582598969 From kevinw at openjdk.org Fri Jan 10 12:57:49 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 10 Jan 2025 12:57:49 GMT Subject: jmx-dev RFR: 8347267: [macOS]: UnixOperatingSystem.c:67:40: runtime error: division by zero In-Reply-To: References: Message-ID: On Thu, 9 Jan 2025 15:13:01 GMT, Matthias Baesken wrote: > When running ubsan-enabled binaries on macOS aarch64, in test > javax/management/MBeanServer/OldMBeanServerTest.java > the following division by zero is shown : > src/jdk.management/macosx/native/libmanagement_ext/UnixOperatingSystem.c:67:40: runtime error: division by zero > UndefinedBehaviorSanitizer:DEADLYSIGNAL > UndefinedBehaviorSanitizer: nested bug in the same thread, aborting. > > We should add special handling for the case ` (total_delta == 0)` . Thanks - it is good to have this check. It had to be at least interesting, that this code is old, it's in jdk9 or earlier, and we don't seem to have seen this kind of crash before. I was thinking maybe just the timing had changed in that build, but if you can hit it in a regular build then it's not ubsan, maybe you are just lucky! The existing Linux versions that take zero ticks difference to imply zero load, make sense to me. 8-) ------------- PR Comment: https://git.openjdk.org/jdk/pull/23010#issuecomment-2582647679 From kevinw at openjdk.org Mon Jan 13 17:55:46 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Mon, 13 Jan 2025 17:55:46 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl Message-ID: This is a post-SecurityManager-removal cleanup, following-on from: 8344394: Remove SecurityManager and related calls from java.management.rmi Remove mention of "privilege" in Exception handling in RMIConnectionImpl. Remove wrapping of Exceptions in PrivilegedActionException. The methods that invoke an operations handle the expected Exceptions, but also need to handle SecurityException and RuntimeException, to avoid their default case of wrapping an Exception in an IOException to signal a problem. ------------- Commit messages: - unnecessary catches - (c) - 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl Changes: https://git.openjdk.org/jdk/pull/23072/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23072&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8345079 Stats: 240 lines in 1 file changed: 99 ins; 60 del; 81 mod Patch: https://git.openjdk.org/jdk/pull/23072.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23072/head:pull/23072 PR: https://git.openjdk.org/jdk/pull/23072 From kevinw at openjdk.org Tue Jan 14 10:13:21 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Tue, 14 Jan 2025 10:13:21 GMT Subject: jmx-dev RFR: 8344966: Remove the allowNonPublic MBean compatibility property Message-ID: The System Property "jdk.jmx.mbeans.allowNonPublic" was added with JDK-8010285, to optionally be compatible with a time before JDK-8, when Management Interfaces being public was not enforced. >From JDK-8010285: _The system property "jdk.jmx.mbeans.allowNonPublic" is used to revert to the old behaviour allowing non-public management interfaces. This property is considered to be transitional and will be removed in the subsequent releases._ That was a long time ago. This compatibility convenience flag should be removed. ------------- Commit messages: - 8344966: Remove the allowNonPublic MBean compatibility property Changes: https://git.openjdk.org/jdk/pull/23098/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23098&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8344966 Stats: 289 lines in 6 files changed: 0 ins; 283 del; 6 mod Patch: https://git.openjdk.org/jdk/pull/23098.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23098/head:pull/23098 PR: https://git.openjdk.org/jdk/pull/23098 From amenkov at openjdk.org Wed Jan 15 02:33:35 2025 From: amenkov at openjdk.org (Alex Menkov) Date: Wed, 15 Jan 2025 02:33:35 GMT Subject: jmx-dev RFR: 8344966: Remove the allowNonPublic MBean compatibility property In-Reply-To: References: Message-ID: On Tue, 14 Jan 2025 09:39:49 GMT, Kevin Walls wrote: > The System Property "jdk.jmx.mbeans.allowNonPublic" was added with JDK-8010285, to optionally be compatible with a time before JDK-8, when Management Interfaces being public was not enforced. > > From JDK-8010285: > _The system property "jdk.jmx.mbeans.allowNonPublic" is used to revert to the old behaviour allowing non-public management interfaces. This property is considered to be transitional and will be removed in the subsequent releases._ > > > > That was a long time ago. This compatibility convenience flag should be removed. Marked as reviewed by amenkov (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23098#pullrequestreview-2551439688 From kevinw at openjdk.org Wed Jan 15 09:22:34 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Wed, 15 Jan 2025 09:22:34 GMT Subject: jmx-dev RFR: 8344966: Remove the allowNonPublic MBean compatibility property In-Reply-To: References: Message-ID: On Tue, 14 Jan 2025 09:39:49 GMT, Kevin Walls wrote: > The System Property "jdk.jmx.mbeans.allowNonPublic" was added with JDK-8010285, to optionally be compatible with a time before JDK-8, when Management Interfaces being public was not enforced. > > From JDK-8010285: > _The system property "jdk.jmx.mbeans.allowNonPublic" is used to revert to the old behaviour allowing non-public management interfaces. This property is considered to be transitional and will be removed in the subsequent releases._ > > > > That was a long time ago. This compatibility convenience flag should be removed. Thanks Alex! ------------- PR Comment: https://git.openjdk.org/jdk/pull/23098#issuecomment-2592087707 From kevinw at openjdk.org Wed Jan 15 11:13:05 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Wed, 15 Jan 2025 11:13:05 GMT Subject: jmx-dev RFR: 8344969: Remove the jmx.mxbean.multiname compatibility property Message-ID: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> Remove the System Property "jmx.mxbean.multiname" which was introduced in JDK-7 for compatibility with code which may have depended on previous incorrect behaviour. Removal is long overdue. ------------- Commit messages: - 8344969: Remove the jmx.mxbean.multiname compatibility property Changes: https://git.openjdk.org/jdk/pull/23131/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23131&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8344969 Stats: 9 lines in 2 files changed: 0 ins; 5 del; 4 mod Patch: https://git.openjdk.org/jdk/pull/23131.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23131/head:pull/23131 PR: https://git.openjdk.org/jdk/pull/23131 From kevinw at openjdk.org Wed Jan 15 15:04:52 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Wed, 15 Jan 2025 15:04:52 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property Message-ID: The System Property "jmx.invoke.getters" was added in [JDK-4949203](https://bugs.openjdk.org/browse/JDK-4949203) to optionally be compatible with a time before JDK-6, when calling invoke on getters and setters was permitted. It should be removed. ------------- Commit messages: - 8344976: Remove the jmx.invoke.getters compatibility property Changes: https://git.openjdk.org/jdk/pull/23132/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23132&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8344976 Stats: 64 lines in 2 files changed: 0 ins; 56 del; 8 mod Patch: https://git.openjdk.org/jdk/pull/23132.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23132/head:pull/23132 PR: https://git.openjdk.org/jdk/pull/23132 From sspitsyn at openjdk.org Wed Jan 15 19:48:35 2025 From: sspitsyn at openjdk.org (Serguei Spitsyn) Date: Wed, 15 Jan 2025 19:48:35 GMT Subject: jmx-dev RFR: 8344966: Remove the allowNonPublic MBean compatibility property In-Reply-To: References: Message-ID: On Tue, 14 Jan 2025 09:39:49 GMT, Kevin Walls wrote: > The System Property "jdk.jmx.mbeans.allowNonPublic" was added with JDK-8010285, to optionally be compatible with a time before JDK-8, when Management Interfaces being public was not enforced. > > From JDK-8010285: > _The system property "jdk.jmx.mbeans.allowNonPublic" is used to revert to the old behaviour allowing non-public management interfaces. This property is considered to be transitional and will be removed in the subsequent releases._ > > > > That was a long time ago. This compatibility convenience flag should be removed. Looks good. ------------- Marked as reviewed by sspitsyn (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23098#pullrequestreview-2553746223 From sspitsyn at openjdk.org Wed Jan 15 23:50:43 2025 From: sspitsyn at openjdk.org (Serguei Spitsyn) Date: Wed, 15 Jan 2025 23:50:43 GMT Subject: jmx-dev RFR: 8344969: Remove the jmx.mxbean.multiname compatibility property In-Reply-To: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> References: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> Message-ID: On Wed, 15 Jan 2025 10:59:29 GMT, Kevin Walls wrote: > Remove the System Property "jmx.mxbean.multiname" which was introduced in JDK-7 for compatibility with code which may have depended on previous incorrect behaviour. Removal is long overdue. Looks good. ------------- Marked as reviewed by sspitsyn (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23131#pullrequestreview-2554331035 From amenkov at openjdk.org Thu Jan 16 01:07:38 2025 From: amenkov at openjdk.org (Alex Menkov) Date: Thu, 16 Jan 2025 01:07:38 GMT Subject: jmx-dev RFR: 8344969: Remove the jmx.mxbean.multiname compatibility property In-Reply-To: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> References: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> Message-ID: <_uoZKFwfxh3qh3QPlrXaHvrqDHxV_pWBqSY-socsCZ4=.3d9402b3-386f-419d-98fb-3b8e53085c92@github.com> On Wed, 15 Jan 2025 10:59:29 GMT, Kevin Walls wrote: > Remove the System Property "jmx.mxbean.multiname" which was introduced in JDK-7 for compatibility with code which may have depended on previous incorrect behaviour. Removal is long overdue. test/jdk/javax/management/mxbean/SameObjectTwoNamesTest.java line 43: > 41: > 42: public static void main(String[] args) throws Exception { > 43: boolean expectException = true; I think it would be better to drop this variable at all (and remove unreachable code when the variable is "false") ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23131#discussion_r1917527678 From kevinw at openjdk.org Thu Jan 16 09:31:11 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 16 Jan 2025 09:31:11 GMT Subject: jmx-dev RFR: 8344969: Remove the jmx.mxbean.multiname compatibility property [v2] In-Reply-To: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> References: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> Message-ID: > Remove the System Property "jmx.mxbean.multiname" which was introduced in JDK-7 for compatibility with code which may have depended on previous incorrect behaviour. Removal is long overdue. Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: test update/simplification ------------- Changes: - all: https://git.openjdk.org/jdk/pull/23131/files - new: https://git.openjdk.org/jdk/pull/23131/files/7b85bfbf..3fb85cd4 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=23131&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23131&range=00-01 Stats: 13 lines in 1 file changed: 0 ins; 10 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/23131.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23131/head:pull/23131 PR: https://git.openjdk.org/jdk/pull/23131 From kevinw at openjdk.org Thu Jan 16 09:31:11 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 16 Jan 2025 09:31:11 GMT Subject: jmx-dev RFR: 8344969: Remove the jmx.mxbean.multiname compatibility property [v2] In-Reply-To: <_uoZKFwfxh3qh3QPlrXaHvrqDHxV_pWBqSY-socsCZ4=.3d9402b3-386f-419d-98fb-3b8e53085c92@github.com> References: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> <_uoZKFwfxh3qh3QPlrXaHvrqDHxV_pWBqSY-socsCZ4=.3d9402b3-386f-419d-98fb-3b8e53085c92@github.com> Message-ID: On Thu, 16 Jan 2025 01:04:39 GMT, Alex Menkov wrote: >> Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: >> >> test update/simplification > > test/jdk/javax/management/mxbean/SameObjectTwoNamesTest.java line 43: > >> 41: >> 42: public static void main(String[] args) throws Exception { >> 43: boolean expectException = true; > > I think it would be better to drop this variable at all (and remove unreachable code when the variable is "false") Yes sure, can remove that and simplify this small test - done. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23131#discussion_r1918113685 From kevinw at openjdk.org Thu Jan 16 10:38:07 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 16 Jan 2025 10:38:07 GMT Subject: jmx-dev RFR: 8345045: Remove the jmx.remote.x.buffer.size JMX notification property Message-ID: jmx.remote.x.buffer.size was a previous and incorrect name for the jmx.remote.x.notification.buffer.size property. The old name was still recognised to aid compatibility. That was 2004. We should only recognise the correct name at this point. ------------- Commit messages: - 8345045: Remove the jmx.remote.x.buffer.size JMX notification property Changes: https://git.openjdk.org/jdk/pull/23145/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23145&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8345045 Stats: 33 lines in 2 files changed: 0 ins; 24 del; 9 mod Patch: https://git.openjdk.org/jdk/pull/23145.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23145/head:pull/23145 PR: https://git.openjdk.org/jdk/pull/23145 From kevinw at openjdk.org Thu Jan 16 13:11:08 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 16 Jan 2025 13:11:08 GMT Subject: jmx-dev RFR: 8345049: Remove the jmx.tabular.data.hash.map compatibility property Message-ID: Remove the System Property "jmx.tabular.data.hash.map" which was introduced historically for JMX compatibility with JDK 1.3 clients. ------------- Commit messages: - 8345049: Remove the jmx.tabular.data.hash.map compatibility property Changes: https://git.openjdk.org/jdk/pull/23153/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23153&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8345049 Stats: 50 lines in 2 files changed: 0 ins; 47 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/23153.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23153/head:pull/23153 PR: https://git.openjdk.org/jdk/pull/23153 From cjplummer at openjdk.org Thu Jan 16 19:31:36 2025 From: cjplummer at openjdk.org (Chris Plummer) Date: Thu, 16 Jan 2025 19:31:36 GMT Subject: jmx-dev RFR: 8345049: Remove the jmx.tabular.data.hash.map compatibility property In-Reply-To: References: Message-ID: On Thu, 16 Jan 2025 13:05:58 GMT, Kevin Walls wrote: > Remove the System Property "jmx.tabular.data.hash.map" which was introduced historically for JMX compatibility with JDK 1.3 clients. Marked as reviewed by cjplummer (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23153#pullrequestreview-2557099056 From amenkov at openjdk.org Thu Jan 16 21:00:33 2025 From: amenkov at openjdk.org (Alex Menkov) Date: Thu, 16 Jan 2025 21:00:33 GMT Subject: jmx-dev RFR: 8344969: Remove the jmx.mxbean.multiname compatibility property [v2] In-Reply-To: References: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> Message-ID: On Thu, 16 Jan 2025 09:31:11 GMT, Kevin Walls wrote: >> Remove the System Property "jmx.mxbean.multiname" which was introduced in JDK-7 for compatibility with code which may have depended on previous incorrect behaviour. Removal is long overdue. > > Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: > > test update/simplification Marked as reviewed by amenkov (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23131#pullrequestreview-2557262468 From amenkov at openjdk.org Thu Jan 16 21:02:49 2025 From: amenkov at openjdk.org (Alex Menkov) Date: Thu, 16 Jan 2025 21:02:49 GMT Subject: jmx-dev RFR: 8345045: Remove the jmx.remote.x.buffer.size JMX notification property In-Reply-To: References: Message-ID: On Thu, 16 Jan 2025 10:31:09 GMT, Kevin Walls wrote: > jmx.remote.x.buffer.size was a previous and incorrect name for the jmx.remote.x.notification.buffer.size property. > > The old name was still recognised to aid compatibility. > That was 2004. We should only recognise the correct name at this point. Marked as reviewed by amenkov (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23145#pullrequestreview-2557282832 From sspitsyn at openjdk.org Fri Jan 17 03:19:35 2025 From: sspitsyn at openjdk.org (Serguei Spitsyn) Date: Fri, 17 Jan 2025 03:19:35 GMT Subject: jmx-dev RFR: 8344969: Remove the jmx.mxbean.multiname compatibility property [v2] In-Reply-To: References: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> Message-ID: On Thu, 16 Jan 2025 09:31:11 GMT, Kevin Walls wrote: >> Remove the System Property "jmx.mxbean.multiname" which was introduced in JDK-7 for compatibility with code which may have depended on previous incorrect behaviour. Removal is long overdue. > > Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: > > test update/simplification Marked as reviewed by sspitsyn (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23131#pullrequestreview-2557880547 From sspitsyn at openjdk.org Fri Jan 17 03:33:40 2025 From: sspitsyn at openjdk.org (Serguei Spitsyn) Date: Fri, 17 Jan 2025 03:33:40 GMT Subject: jmx-dev RFR: 8345045: Remove the jmx.remote.x.buffer.size JMX notification property In-Reply-To: References: Message-ID: On Thu, 16 Jan 2025 10:31:09 GMT, Kevin Walls wrote: > jmx.remote.x.buffer.size was a previous and incorrect name for the jmx.remote.x.notification.buffer.size property. > > The old name was still recognised to aid compatibility. > That was 2004. We should only recognise the correct name at this point. Marked as reviewed by sspitsyn (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23145#pullrequestreview-2557893106 From sspitsyn at openjdk.org Fri Jan 17 03:38:34 2025 From: sspitsyn at openjdk.org (Serguei Spitsyn) Date: Fri, 17 Jan 2025 03:38:34 GMT Subject: jmx-dev RFR: 8345049: Remove the jmx.tabular.data.hash.map compatibility property In-Reply-To: References: Message-ID: <3Ag-r8FPbncVeulSEIC6ycxcltH6dFCf8TjFPcQ5MRA=.fa563fb0-0e50-41fe-be1b-2c35754399f6@github.com> On Thu, 16 Jan 2025 13:05:58 GMT, Kevin Walls wrote: > Remove the System Property "jmx.tabular.data.hash.map" which was introduced historically for JMX compatibility with JDK 1.3 clients. Marked as reviewed by sspitsyn (Reviewer). ------------- PR Review: https://git.openjdk.org/jdk/pull/23153#pullrequestreview-2557896388 From dfuchs at openjdk.org Fri Jan 17 14:22:38 2025 From: dfuchs at openjdk.org (Daniel Fuchs) Date: Fri, 17 Jan 2025 14:22:38 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl In-Reply-To: References: Message-ID: On Mon, 13 Jan 2025 13:56:54 GMT, Kevin Walls wrote: > This is a post-SecurityManager-removal cleanup, following-on from: > > 8344394: Remove SecurityManager and related calls from java.management.rmi > > > Remove mention of "privilege" in Exception handling in RMIConnectionImpl. > Remove wrapping of Exceptions in PrivilegedActionException. > > The methods that invoke an operation handle expected Exceptions, but also need to handle SecurityException and RuntimeException, to avoid their default case of wrapping an Exception in an IOException to signal a problem. Changes requested by dfuchs (Reviewer). src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java line 212: > 210: throw (SecurityException) e; > 211: if (e instanceof RuntimeException) > 212: throw (RuntimeException) e; Throughout all these changes: SecurityException is a RuntimeException, so you do not need to check for both. An alternative is to: } catch (RuntimeException r) { throw r; } catch (Exception e) { .... } ------------- PR Review: https://git.openjdk.org/jdk/pull/23072#pullrequestreview-2559138986 PR Review Comment: https://git.openjdk.org/jdk/pull/23072#discussion_r1920262189 From kevinw at openjdk.org Fri Jan 17 18:21:36 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 17 Jan 2025 18:21:36 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl In-Reply-To: References: Message-ID: <4TTQRMhMKVNtHzJiggQCZgoLQE2xlPJZVAryHYnwffc=.d885cf7a-a77e-46ac-bd3c-447c8cc0133a@github.com> On Fri, 17 Jan 2025 14:19:31 GMT, Daniel Fuchs wrote: >> This is a post-SecurityManager-removal cleanup, following-on from: >> >> 8344394: Remove SecurityManager and related calls from java.management.rmi >> >> >> Remove mention of "privilege" in Exception handling in RMIConnectionImpl. >> Remove wrapping of Exceptions in PrivilegedActionException. >> >> The methods that invoke an operation handle expected Exceptions, but also need to handle SecurityException and RuntimeException, to avoid their default case of wrapping an Exception in an IOException to signal a problem. > > src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java line 212: > >> 210: throw (SecurityException) e; >> 211: if (e instanceof RuntimeException) >> 212: throw (RuntimeException) e; > > Throughout all these changes: SecurityException is a RuntimeException, so you do not need to check for both. > > An alternative is to: > > } catch (RuntimeException r) { > throw r; > } catch (Exception e) { > .... > } OK sure, I was just making it super explicit. Can update. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23072#discussion_r1920580855 From kevinw at openjdk.org Fri Jan 17 19:14:13 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 17 Jan 2025 19:14:13 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl [v2] In-Reply-To: References: Message-ID: > This is a post-SecurityManager-removal cleanup, following-on from: > > 8344394: Remove SecurityManager and related calls from java.management.rmi > > > Remove mention of "privilege" in Exception handling in RMIConnectionImpl. > Remove wrapping of Exceptions in PrivilegedActionException. > > The methods that invoke an operation handle expected Exceptions, but also need to handle SecurityException and RuntimeException, to avoid their default case of wrapping an Exception in an IOException to signal a problem. 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 five additional commits since the last revision: - Remove unnecessary/dup catches - Merge remote-tracking branch 'upstream/master' into 8345079_RMIConnectionImpl_excep - unnecessary catches - (c) - 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl ------------- Changes: - all: https://git.openjdk.org/jdk/pull/23072/files - new: https://git.openjdk.org/jdk/pull/23072/files/cc4dcd0b..0f06f752 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=23072&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23072&range=00-01 Stats: 18608 lines in 979 files changed: 9068 ins; 4285 del; 5255 mod Patch: https://git.openjdk.org/jdk/pull/23072.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23072/head:pull/23072 PR: https://git.openjdk.org/jdk/pull/23072 From kevinw at openjdk.org Fri Jan 17 19:16:35 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 17 Jan 2025 19:16:35 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl [v2] In-Reply-To: <4TTQRMhMKVNtHzJiggQCZgoLQE2xlPJZVAryHYnwffc=.d885cf7a-a77e-46ac-bd3c-447c8cc0133a@github.com> References: <4TTQRMhMKVNtHzJiggQCZgoLQE2xlPJZVAryHYnwffc=.d885cf7a-a77e-46ac-bd3c-447c8cc0133a@github.com> Message-ID: On Fri, 17 Jan 2025 18:18:48 GMT, Kevin Walls wrote: >> src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java line 212: >> >>> 210: throw (SecurityException) e; >>> 211: if (e instanceof RuntimeException) >>> 212: throw (RuntimeException) e; >> >> Throughout all these changes: SecurityException is a RuntimeException, so you do not need to check for both. >> >> An alternative is to: >> >> } catch (RuntimeException r) { >> throw r; >> } catch (Exception e) { >> .... >> } > > OK sure, I was just making it super explicit. Can update. Updated - re-ran all of the management tests, looks good. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23072#discussion_r1920640875 From dfuchs at openjdk.org Mon Jan 20 19:04:34 2025 From: dfuchs at openjdk.org (Daniel Fuchs) Date: Mon, 20 Jan 2025 19:04:34 GMT Subject: jmx-dev RFR: 8344969: Remove the jmx.mxbean.multiname compatibility property [v2] In-Reply-To: References: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> Message-ID: On Thu, 16 Jan 2025 09:31:11 GMT, Kevin Walls wrote: >> Remove the System Property "jmx.mxbean.multiname" which was introduced in JDK-7 for compatibility with code which may have depended on previous incorrect behaviour. Removal is long overdue. > > Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: > > test update/simplification LGTM ------------- Marked as reviewed by dfuchs (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23131#pullrequestreview-2563023322 From dfuchs at openjdk.org Mon Jan 20 19:11:36 2025 From: dfuchs at openjdk.org (Daniel Fuchs) Date: Mon, 20 Jan 2025 19:11:36 GMT Subject: jmx-dev RFR: 8345049: Remove the jmx.tabular.data.hash.map compatibility property In-Reply-To: References: Message-ID: On Thu, 16 Jan 2025 13:05:58 GMT, Kevin Walls wrote: > Remove the System Property "jmx.tabular.data.hash.map" which was introduced historically for JMX compatibility with JDK 1.3 clients. LGTM ------------- Marked as reviewed by dfuchs (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23153#pullrequestreview-2563030566 From dfuchs at openjdk.org Mon Jan 20 19:19:39 2025 From: dfuchs at openjdk.org (Daniel Fuchs) Date: Mon, 20 Jan 2025 19:19:39 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl [v2] In-Reply-To: References: Message-ID: On Fri, 17 Jan 2025 19:14:13 GMT, Kevin Walls wrote: >> This is a post-SecurityManager-removal cleanup, following-on from: >> >> 8344394: Remove SecurityManager and related calls from java.management.rmi >> >> >> Remove mention of "privilege" in Exception handling in RMIConnectionImpl. >> Remove wrapping of Exceptions in PrivilegedActionException. >> >> The methods that invoke an operation handle expected Exceptions, but also need to handle SecurityException and RuntimeException, to avoid their default case of wrapping an Exception in an IOException to signal a problem. > > 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 five additional commits since the last revision: > > - Remove unnecessary/dup catches > - Merge remote-tracking branch 'upstream/master' into 8345079_RMIConnectionImpl_excep > - unnecessary catches > - (c) > - 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java line 1008: > 1006: throw (RuntimeException) e; > 1007: } else if (e instanceof RuntimeException) { > 1008: throw (RuntimeException) e; duplicated? see lines 1005-1006 ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23072#discussion_r1922778848 From kevinw at openjdk.org Mon Jan 20 20:21:48 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Mon, 20 Jan 2025 20:21:48 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl [v3] In-Reply-To: References: Message-ID: > This is a post-SecurityManager-removal cleanup, following-on from: > > 8344394: Remove SecurityManager and related calls from java.management.rmi > > > Remove mention of "privilege" in Exception handling in RMIConnectionImpl. > Remove wrapping of Exceptions in PrivilegedActionException. > > The methods that invoke an operation handle expected Exceptions, but also need to handle SecurityException and RuntimeException, to avoid their default case of wrapping an Exception in an IOException to signal a problem. Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: oops ------------- Changes: - all: https://git.openjdk.org/jdk/pull/23072/files - new: https://git.openjdk.org/jdk/pull/23072/files/0f06f752..a07f6bfe Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=23072&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23072&range=01-02 Stats: 2 lines in 1 file changed: 0 ins; 2 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/23072.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23072/head:pull/23072 PR: https://git.openjdk.org/jdk/pull/23072 From kevinw at openjdk.org Mon Jan 20 20:21:51 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Mon, 20 Jan 2025 20:21:51 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl [v2] In-Reply-To: References: Message-ID: <5S0QvA98Ika_v01TjHJGpkyHPJG9hgr3fsbiKIoXu2M=.9d199ee0-9cd5-4b52-b915-9840d10b4772@github.com> On Mon, 20 Jan 2025 19:12:53 GMT, Daniel Fuchs wrote: >> 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 five additional commits since the last revision: >> >> - Remove unnecessary/dup catches >> - Merge remote-tracking branch 'upstream/master' into 8345079_RMIConnectionImpl_excep >> - unnecessary catches >> - (c) >> - 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl > > src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java line 1008: > >> 1006: throw (RuntimeException) e; >> 1007: } else if (e instanceof RuntimeException) { >> 1008: throw (RuntimeException) e; > > duplicated? see lines 1005-1006 oops 8-) ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23072#discussion_r1922817438 From dfuchs at openjdk.org Tue Jan 21 14:32:40 2025 From: dfuchs at openjdk.org (Daniel Fuchs) Date: Tue, 21 Jan 2025 14:32:40 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property In-Reply-To: References: Message-ID: <5efPW0TPw60MzKNllRu_Z-dNvaUsipgh6PcW6VmbFk0=.6d82435e-1ca6-4045-9d1b-f119420c7eaa@github.com> On Wed, 15 Jan 2025 12:15:25 GMT, Kevin Walls wrote: > The System Property "jmx.invoke.getters" was added in [JDK-4949203](https://bugs.openjdk.org/browse/JDK-4949203) to optionally be compatible with a time before JDK-6, when calling invoke on getters and setters was permitted. > > It should be removed. LGTM. ------------- Marked as reviewed by dfuchs (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23132#pullrequestreview-2564809148 From dfuchs at openjdk.org Tue Jan 21 14:43:39 2025 From: dfuchs at openjdk.org (Daniel Fuchs) Date: Tue, 21 Jan 2025 14:43:39 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl [v3] In-Reply-To: References: Message-ID: On Mon, 20 Jan 2025 20:21:48 GMT, Kevin Walls wrote: >> This is a post-SecurityManager-removal cleanup, following-on from: >> >> 8344394: Remove SecurityManager and related calls from java.management.rmi >> >> >> Remove mention of "privilege" in Exception handling in RMIConnectionImpl. >> Remove wrapping of Exceptions in PrivilegedActionException. >> >> The methods that invoke an operation handle expected Exceptions, but also need to handle SecurityException and RuntimeException, to avoid their default case of wrapping an Exception in an IOException to signal a problem. > > Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: > > oops Look good. As a matter of style you could further simplify to: } catch (XException | YException | ZException ex) { throw ex; } catch (Exception unexpected) { throw new IOException("Got unexpected server exception: " + unexpected, unexpected); } but that doesn't need to be in this changeset. Also it would be harder to review ;-) ------------- Marked as reviewed by dfuchs (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23072#pullrequestreview-2564842103 From kevinw at openjdk.org Tue Jan 21 14:53:40 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Tue, 21 Jan 2025 14:53:40 GMT Subject: jmx-dev RFR: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl [v3] In-Reply-To: References: Message-ID: On Mon, 20 Jan 2025 20:21:48 GMT, Kevin Walls wrote: >> This is a post-SecurityManager-removal cleanup, following-on from: >> >> 8344394: Remove SecurityManager and related calls from java.management.rmi >> >> >> Remove mention of "privilege" in Exception handling in RMIConnectionImpl. >> Remove wrapping of Exceptions in PrivilegedActionException. >> >> The methods that invoke an operation handle expected Exceptions, but also need to handle SecurityException and RuntimeException, to avoid their default case of wrapping an Exception in an IOException to signal a problem. > > Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: > > oops Thanks Daniel. Yes, we could do quite a big style update here in future! ------------- PR Comment: https://git.openjdk.org/jdk/pull/23072#issuecomment-2604945705 From kevinw at openjdk.org Tue Jan 21 17:25:48 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Tue, 21 Jan 2025 17:25:48 GMT Subject: jmx-dev Integrated: 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl In-Reply-To: References: Message-ID: On Mon, 13 Jan 2025 13:56:54 GMT, Kevin Walls wrote: > This is a post-SecurityManager-removal cleanup, following-on from: > > 8344394: Remove SecurityManager and related calls from java.management.rmi > > > Remove mention of "privilege" in Exception handling in RMIConnectionImpl. > Remove wrapping of Exceptions in PrivilegedActionException. > > The methods that invoke an operation handle expected Exceptions, but also need to handle SecurityException and RuntimeException, to avoid their default case of wrapping an Exception in an IOException to signal a problem. This pull request has now been integrated. Changeset: 3d4afc49 Author: Kevin Walls URL: https://git.openjdk.org/jdk/commit/3d4afc492ac3054fe2bd10f0a76635a613f31033 Stats: 190 lines in 1 file changed: 49 ins; 60 del; 81 mod 8345079: Simplify/cleanup Exception handling in RMIConnectionImpl Reviewed-by: dfuchs ------------- PR: https://git.openjdk.org/jdk/pull/23072 From kevinw at openjdk.org Wed Jan 22 10:17:11 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Wed, 22 Jan 2025 10:17:11 GMT Subject: jmx-dev RFR: 8348265: RMIConnectionImpl: Remove Subject.callAs on MarshalledObject Message-ID: Redundant after Security Manager removal, remove the Subject.callAs() call on a MashalledObject.cast(). Previously, a Policy could possibly have restricted permissable classes available to the cast(). Nothing in our tests fails if we remove the callAs. Also fixing a comment typo ("reqIncomming") and rewording that comment. ------------- Commit messages: - 8348265: RMIConnectionImpl: Remove Subject.callAs on MarshalledObject Changes: https://git.openjdk.org/jdk/pull/23230/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23230&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8348265 Stats: 15 lines in 1 file changed: 0 ins; 13 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/23230.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23230/head:pull/23230 PR: https://git.openjdk.org/jdk/pull/23230 From kevinw at openjdk.org Thu Jan 23 09:25:47 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 23 Jan 2025 09:25:47 GMT Subject: jmx-dev RFR: 8345049: Remove the jmx.tabular.data.hash.map compatibility property In-Reply-To: References: Message-ID: On Thu, 16 Jan 2025 13:05:58 GMT, Kevin Walls wrote: > Remove the System Property "jmx.tabular.data.hash.map" which was introduced historically for JMX compatibility with JDK 1.3 clients. Thanks for the reviews, on all these old-property-removal changes! ------------- PR Comment: https://git.openjdk.org/jdk/pull/23153#issuecomment-2609288784 From kevinw at openjdk.org Thu Jan 23 09:31:51 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 23 Jan 2025 09:31:51 GMT Subject: jmx-dev Integrated: 8344966: Remove the allowNonPublic MBean compatibility property In-Reply-To: References: Message-ID: On Tue, 14 Jan 2025 09:39:49 GMT, Kevin Walls wrote: > The System Property "jdk.jmx.mbeans.allowNonPublic" was added with JDK-8010285, to optionally be compatible with a time before JDK-8, when Management Interfaces being public was not enforced. > > From JDK-8010285: > _The system property "jdk.jmx.mbeans.allowNonPublic" is used to revert to the old behaviour allowing non-public management interfaces. This property is considered to be transitional and will be removed in the subsequent releases._ > > > > That was a long time ago. This compatibility convenience flag should be removed. This pull request has now been integrated. Changeset: c882160d Author: Kevin Walls URL: https://git.openjdk.org/jdk/commit/c882160d03cb281c8d64d363b3e42273543f2f7f Stats: 289 lines in 6 files changed: 0 ins; 283 del; 6 mod 8344966: Remove the allowNonPublic MBean compatibility property Reviewed-by: amenkov, sspitsyn, dfuchs ------------- PR: https://git.openjdk.org/jdk/pull/23098 From kevinw at openjdk.org Thu Jan 23 09:32:51 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 23 Jan 2025 09:32:51 GMT Subject: jmx-dev Integrated: 8344969: Remove the jmx.mxbean.multiname compatibility property In-Reply-To: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> References: <0VQXZGbZ8jsarvE6Pq2_aTCzxCu3J5kgdqnuU4loUrY=.aa938f9e-3f47-4156-8a97-a18509d673d6@github.com> Message-ID: <5tEImP_lAHvb9U7nEGaZUIrOoyx5_H_vkexX4Vc6yqs=.7cab54dd-b37d-42b5-bc2e-fea3ad61d5a2@github.com> On Wed, 15 Jan 2025 10:59:29 GMT, Kevin Walls wrote: > Remove the System Property "jmx.mxbean.multiname" which was introduced in JDK-7 for compatibility with code which may have depended on previous incorrect behaviour. Removal is long overdue. This pull request has now been integrated. Changeset: 3069e912 Author: Kevin Walls URL: https://git.openjdk.org/jdk/commit/3069e91232e33c1d8570378f93a54ac6a036f11f Stats: 21 lines in 2 files changed: 0 ins; 15 del; 6 mod 8344969: Remove the jmx.mxbean.multiname compatibility property Reviewed-by: sspitsyn, amenkov, dfuchs ------------- PR: https://git.openjdk.org/jdk/pull/23131 From kevinw at openjdk.org Thu Jan 23 11:41:53 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 23 Jan 2025 11:41:53 GMT Subject: jmx-dev Integrated: 8345045: Remove the jmx.remote.x.buffer.size JMX notification property In-Reply-To: References: Message-ID: On Thu, 16 Jan 2025 10:31:09 GMT, Kevin Walls wrote: > jmx.remote.x.buffer.size was a previous and incorrect name for the jmx.remote.x.notification.buffer.size property. > > The old name was still recognised to aid compatibility. > That was 2004. We should only recognise the correct name at this point. This pull request has now been integrated. Changeset: 8b46db0c Author: Kevin Walls URL: https://git.openjdk.org/jdk/commit/8b46db0c0d71dd7c76078028fa2600dd0cc08387 Stats: 33 lines in 2 files changed: 0 ins; 24 del; 9 mod 8345045: Remove the jmx.remote.x.buffer.size JMX notification property Reviewed-by: amenkov, sspitsyn ------------- PR: https://git.openjdk.org/jdk/pull/23145 From kevinw at openjdk.org Thu Jan 23 11:43:54 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 23 Jan 2025 11:43:54 GMT Subject: jmx-dev Integrated: 8345049: Remove the jmx.tabular.data.hash.map compatibility property In-Reply-To: References: Message-ID: <5v_ix7U9xD8aGX8LlNAJtUBi0r91rPd0hfl9Oy3znCs=.568c1074-7fc4-466f-b377-131d02fc26c3@github.com> On Thu, 16 Jan 2025 13:05:58 GMT, Kevin Walls wrote: > Remove the System Property "jmx.tabular.data.hash.map" which was introduced historically for JMX compatibility with JDK 1.3 clients. This pull request has now been integrated. Changeset: c00557f8 Author: Kevin Walls URL: https://git.openjdk.org/jdk/commit/c00557f8f53ff729c8a1857a4ffcc585d3f8c6c4 Stats: 50 lines in 2 files changed: 0 ins; 47 del; 3 mod 8345049: Remove the jmx.tabular.data.hash.map compatibility property Reviewed-by: cjplummer, sspitsyn, dfuchs ------------- PR: https://git.openjdk.org/jdk/pull/23153 From rriggs at openjdk.org Thu Jan 23 14:27:50 2025 From: rriggs at openjdk.org (Roger Riggs) Date: Thu, 23 Jan 2025 14:27:50 GMT Subject: jmx-dev RFR: 8348265: RMIConnectionImpl: Remove Subject.callAs on MarshalledObject In-Reply-To: References: Message-ID: On Wed, 22 Jan 2025 10:05:11 GMT, Kevin Walls wrote: > Redundant after Security Manager removal, remove the Subject.callAs() call on a MashalledObject.cast(). > Previously, a Policy could possibly have restricted permissable classes available to the cast(). > > Nothing in our tests fails if we remove the callAs. > > Also fixing a comment typo ("reqIncomming") and rewording that comment. Makes sense to me (to drop the callAs). With an SM (and policy) it might allow as cast to a class that would have been restricted by policy. Without the SM the subject can?t affect the cast. ------------- Marked as reviewed by rriggs (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23230#pullrequestreview-2570012725 From kevinw at openjdk.org Thu Jan 23 14:30:47 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Thu, 23 Jan 2025 14:30:47 GMT Subject: jmx-dev RFR: 8348265: RMIConnectionImpl: Remove Subject.callAs on MarshalledObject In-Reply-To: References: Message-ID: On Wed, 22 Jan 2025 10:05:11 GMT, Kevin Walls wrote: > Redundant after Security Manager removal, remove the Subject.callAs() call on a MashalledObject.cast(). > Previously, a Policy could possibly have restricted permissable classes available to the cast(). > > Nothing in our tests fails if we remove the callAs. > > Also fixing a comment typo ("reqIncomming") and rewording that comment. Thanks! ------------- PR Comment: https://git.openjdk.org/jdk/pull/23230#issuecomment-2609952658 From kevinw at openjdk.org Fri Jan 24 08:42:55 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 24 Jan 2025 08:42:55 GMT Subject: jmx-dev Integrated: 8348265: RMIConnectionImpl: Remove Subject.callAs on MarshalledObject In-Reply-To: References: Message-ID: On Wed, 22 Jan 2025 10:05:11 GMT, Kevin Walls wrote: > Redundant after Security Manager removal, remove the Subject.callAs() call on a MashalledObject.cast(). > Previously, a Policy could possibly have restricted permissable classes available to the cast(). > > Nothing in our tests fails if we remove the callAs. > > Also fixing a comment typo ("reqIncomming") and rewording that comment. This pull request has now been integrated. Changeset: a09f06d5 Author: Kevin Walls URL: https://git.openjdk.org/jdk/commit/a09f06d538075bcdd7cce6da9c3bf9549ce7d543 Stats: 15 lines in 1 file changed: 0 ins; 13 del; 2 mod 8348265: RMIConnectionImpl: Remove Subject.callAs on MarshalledObject Reviewed-by: rriggs ------------- PR: https://git.openjdk.org/jdk/pull/23230 From sspitsyn at openjdk.org Fri Jan 24 11:49:47 2025 From: sspitsyn at openjdk.org (Serguei Spitsyn) Date: Fri, 24 Jan 2025 11:49:47 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property In-Reply-To: References: Message-ID: On Wed, 15 Jan 2025 12:15:25 GMT, Kevin Walls wrote: > The System Property "jmx.invoke.getters" was added in [JDK-4949203](https://bugs.openjdk.org/browse/JDK-4949203) to optionally be compatible with a time before JDK-6, when calling invoke on getters and setters was permitted. > > It should be removed. Looks good modulo copyright year. test/jdk/javax/management/Introspector/InvokeGettersTest.java line 2: > 1: /* > 2: * Copyright (c) 2005, 2022, Oracle and/or its affiliates. All rights reserved. The year 2022 looks like a typo. ------------- Marked as reviewed by sspitsyn (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23132#pullrequestreview-2572435558 PR Review Comment: https://git.openjdk.org/jdk/pull/23132#discussion_r1928559402 From kevinw at openjdk.org Fri Jan 24 11:55:23 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 24 Jan 2025 11:55:23 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property [v2] In-Reply-To: References: Message-ID: > The System Property "jmx.invoke.getters" was added in [JDK-4949203](https://bugs.openjdk.org/browse/JDK-4949203) to optionally be compatible with a time before JDK-6, when calling invoke on getters and setters was permitted. > > It should be removed. Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: (C) ------------- Changes: - all: https://git.openjdk.org/jdk/pull/23132/files - new: https://git.openjdk.org/jdk/pull/23132/files/99ff70d2..381bd44d Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=23132&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23132&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/23132.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23132/head:pull/23132 PR: https://git.openjdk.org/jdk/pull/23132 From kevinw at openjdk.org Fri Jan 24 11:55:23 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 24 Jan 2025 11:55:23 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property [v2] In-Reply-To: References: Message-ID: On Fri, 24 Jan 2025 11:45:56 GMT, Serguei Spitsyn wrote: >> Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: >> >> (C) > > test/jdk/javax/management/Introspector/InvokeGettersTest.java line 2: > >> 1: /* >> 2: * Copyright (c) 2005, 2022, Oracle and/or its affiliates. All rights reserved. > > The year 2022 looks like a typo. thanks, well spotted! ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23132#discussion_r1928564636 From cjplummer at openjdk.org Fri Jan 24 20:33:47 2025 From: cjplummer at openjdk.org (Chris Plummer) Date: Fri, 24 Jan 2025 20:33:47 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property [v2] In-Reply-To: References: Message-ID: On Fri, 24 Jan 2025 11:55:23 GMT, Kevin Walls wrote: >> The System Property "jmx.invoke.getters" was added in [JDK-4949203](https://bugs.openjdk.org/browse/JDK-4949203) to optionally be compatible with a time before JDK-6, when calling invoke on getters and setters was permitted. >> >> It should be removed. > > Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: > > (C) src/java.management/share/classes/com/sun/jmx/mbeanserver/PerInterface.java line 149: > 147: throws MBeanException, ReflectionException { > 148: > 149: // Construct the exception that we will throw Although your changes look fine, the existing code for constructing this exception is odd in that it artificially introduces a `cause` exception. It seems to mostly want to capture additional msg information, but most of it seems to be duplicated in the msg passed in, and all this could instead just be handled with a single msg constructed at the call site (and the ReflectionException could be allocated at the call site). Also, what it the @SuppressWarnings("removal") for? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23132#discussion_r1929200951 From kevinw at openjdk.org Fri Jan 24 23:53:46 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Fri, 24 Jan 2025 23:53:46 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property [v2] In-Reply-To: References: Message-ID: On Fri, 24 Jan 2025 20:31:01 GMT, Chris Plummer wrote: >> Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: >> >> (C) > > src/java.management/share/classes/com/sun/jmx/mbeanserver/PerInterface.java line 149: > >> 147: throws MBeanException, ReflectionException { >> 148: >> 149: // Construct the exception that we will throw > > Although your changes look fine, the existing code for constructing this exception is odd in that it artificially introduces a `cause` exception. It seems to mostly want to capture additional msg information, but most of it seems to be duplicated in the msg passed in, and all this could instead just be handled with a single msg constructed at the call site (and the ReflectionException could be allocated at the call site). Also, what it the @SuppressWarnings("removal") for? Thanks - Ah, "removal" was added for SM removal, that can surely go now. Actually I don't see anything in what we're removing which required it, seems to have been unnecessary. The method is almost trivial now, and only used in two places. Yes it is a bit odd to manufacture a new cause, rather than throw something immediately. Elsewhere in this file, e.g. the getAttribute method does just throw new AttributeNotFoundException(msg), but here in invoke() we use "return noSuchMethod(...)" which effectively does: throw new ReflectionException(new NoSuchMethodException(operation + sigString(signature)), msg); (Hah, yes unlike a new Exception(String message, Throwable cause), ReflectionException uses new ReflectionException(Exception e, String message).) Two lines like that mean that the noSuchMethod method can be removed. I'm trying that out... But changing the behaviour (throwing a different Exception) might come with some compatibilty risk. I think it's good not to change the behaviour in this property removal change. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23132#discussion_r1929381074 From kevinw at openjdk.org Sun Jan 26 20:27:32 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Sun, 26 Jan 2025 20:27:32 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property [v3] In-Reply-To: References: Message-ID: <3Q1jVD8bQ9gGR30YqpJNJowM_TYNbT7Xh5hN_CNG2Bk=.0e3fa863-8cf3-417c-a2c6-ef3970c7dfc9@github.com> > The System Property "jmx.invoke.getters" was added in [JDK-4949203](https://bugs.openjdk.org/browse/JDK-4949203) to optionally be compatible with a time before JDK-6, when calling invoke on getters and setters was permitted. > > It should be removed. Kevin Walls has updated the pull request incrementally with two additional commits since the last revision: - Remove noSuchMethod method - Remove removal warnings suppression ------------- Changes: - all: https://git.openjdk.org/jdk/pull/23132/files - new: https://git.openjdk.org/jdk/pull/23132/files/381bd44d..302f1dfc Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=23132&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=23132&range=01-02 Stats: 22 lines in 1 file changed: 0 ins; 20 del; 2 mod Patch: https://git.openjdk.org/jdk/pull/23132.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/23132/head:pull/23132 PR: https://git.openjdk.org/jdk/pull/23132 From kevinw at openjdk.org Mon Jan 27 09:57:48 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Mon, 27 Jan 2025 09:57:48 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property [v2] In-Reply-To: References: Message-ID: On Fri, 24 Jan 2025 23:50:47 GMT, Kevin Walls wrote: >> src/java.management/share/classes/com/sun/jmx/mbeanserver/PerInterface.java line 149: >> >>> 147: throws MBeanException, ReflectionException { >>> 148: >>> 149: // Construct the exception that we will throw >> >> Although your changes look fine, the existing code for constructing this exception is odd in that it artificially introduces a `cause` exception. It seems to mostly want to capture additional msg information, but most of it seems to be duplicated in the msg passed in, and all this could instead just be handled with a single msg constructed at the call site (and the ReflectionException could be allocated at the call site). Also, what it the @SuppressWarnings("removal") for? > > Thanks - > > Ah, "removal" was added for SM removal, that can surely go now. Actually I don't see anything in what we're removing which required it, seems to have been unnecessary. > > The method is almost trivial now, and only used in two places. Yes it is a bit odd to manufacture a new cause, rather than throw something immediately. > > Elsewhere in this file, e.g. the getAttribute method does just throw new AttributeNotFoundException(msg), > but here in invoke() we use "return noSuchMethod(...)" which effectively does: > > throw new ReflectionException(new NoSuchMethodException(operation + sigString(signature)), msg); > > (Hah, yes unlike a new Exception(String message, Throwable cause), ReflectionException uses new ReflectionException(Exception e, String message).) > > Two lines like that mean that the noSuchMethod method can be removed. I'm trying that out... > > But changing the behaviour (throwing a different Exception) might come with some compatibilty risk. I think it's good not to change the behaviour in this property removal change. Updated with noSuchMethod method removed, and the two places t was called now create their own Exception. This makes it clearer just how odd it is, to create a NoSuchMethodException and stash it in a ReflectionException (the invoke() method throws MBeanException, ReflectionException). This behaviour has been here for many years and we don't really want to sneak in a behaviour change here. But I quite like this update for the clarity. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23132#discussion_r1930251123 From cjplummer at openjdk.org Mon Jan 27 21:15:47 2025 From: cjplummer at openjdk.org (Chris Plummer) Date: Mon, 27 Jan 2025 21:15:47 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property [v3] In-Reply-To: <3Q1jVD8bQ9gGR30YqpJNJowM_TYNbT7Xh5hN_CNG2Bk=.0e3fa863-8cf3-417c-a2c6-ef3970c7dfc9@github.com> References: <3Q1jVD8bQ9gGR30YqpJNJowM_TYNbT7Xh5hN_CNG2Bk=.0e3fa863-8cf3-417c-a2c6-ef3970c7dfc9@github.com> Message-ID: On Sun, 26 Jan 2025 20:27:32 GMT, Kevin Walls wrote: >> The System Property "jmx.invoke.getters" was added in [JDK-4949203](https://bugs.openjdk.org/browse/JDK-4949203) to optionally be compatible with a time before JDK-6, when calling invoke on getters and setters was permitted. >> >> It should be removed. > > Kevin Walls has updated the pull request incrementally with two additional commits since the last revision: > > - Remove noSuchMethod method > - Remove removal warnings suppression Marked as reviewed by cjplummer (Reviewer). src/java.management/share/classes/com/sun/jmx/mbeanserver/PerInterface.java line 111: > 109: if (list == null) { > 110: final String msg = "No such operation: " + operation; > 111: throw new ReflectionException(new NoSuchMethodException(operation + sigString(signature)), msg); I think this is much better, but I still think it's odd that `operation` is in both exceptions (after your changes it's a lot more clear that this is the case), but I'm okay with that for the sake of not risking any compatibility issues. ------------- PR Review: https://git.openjdk.org/jdk/pull/23132#pullrequestreview-2576564584 PR Review Comment: https://git.openjdk.org/jdk/pull/23132#discussion_r1931194592 From kevinw at openjdk.org Tue Jan 28 09:21:51 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Tue, 28 Jan 2025 09:21:51 GMT Subject: jmx-dev RFR: 8344976: Remove the jmx.invoke.getters compatibility property [v3] In-Reply-To: References: <3Q1jVD8bQ9gGR30YqpJNJowM_TYNbT7Xh5hN_CNG2Bk=.0e3fa863-8cf3-417c-a2c6-ef3970c7dfc9@github.com> Message-ID: On Mon, 27 Jan 2025 21:12:34 GMT, Chris Plummer wrote: >> Kevin Walls has updated the pull request incrementally with two additional commits since the last revision: >> >> - Remove noSuchMethod method >> - Remove removal warnings suppression > > src/java.management/share/classes/com/sun/jmx/mbeanserver/PerInterface.java line 111: > >> 109: if (list == null) { >> 110: final String msg = "No such operation: " + operation; >> 111: throw new ReflectionException(new NoSuchMethodException(operation + sigString(signature)), msg); > > I think this is much better, but I still think it's odd that `operation` is in both exceptions (after your changes it's a lot more clear that this is the case), but I'm okay with that for the sake of not risking any compatibility issues. Thanks! ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23132#discussion_r1931797096 From kevinw at openjdk.org Tue Jan 28 09:25:52 2025 From: kevinw at openjdk.org (Kevin Walls) Date: Tue, 28 Jan 2025 09:25:52 GMT Subject: jmx-dev Integrated: 8344976: Remove the jmx.invoke.getters compatibility property In-Reply-To: References: Message-ID: On Wed, 15 Jan 2025 12:15:25 GMT, Kevin Walls wrote: > The System Property "jmx.invoke.getters" was added in [JDK-4949203](https://bugs.openjdk.org/browse/JDK-4949203) to optionally be compatible with a time before JDK-6, when calling invoke on getters and setters was permitted. > > It should be removed. This pull request has now been integrated. Changeset: f71541c9 Author: Kevin Walls URL: https://git.openjdk.org/jdk/commit/f71541c93b814cd39c3dd253234a453e5d71f4c0 Stats: 84 lines in 2 files changed: 0 ins; 76 del; 8 mod 8344976: Remove the jmx.invoke.getters compatibility property Reviewed-by: cjplummer, dfuchs, sspitsyn ------------- PR: https://git.openjdk.org/jdk/pull/23132