Hi - I created JDK-8340121 to have the actual removal of RMI features visible... on the horizon somewhere... I did not mean to suggest it is going away very very soon. I don't want to make a forward-looking statement or a promise, but I do not expect this to be acted on right now. But I also don't want us to forget the idea of removing it in future.
Will need to look at your idea in more detail. If there is any resistance or reason not to do this in the JDK, then I guess it's something that does not absolutely have to be in the JDK itself. A proxy-like tool that is outside the JDK can work. Yes it is likely more convenient to use if it's bundled in the JDK, but we would need to balance that convenience for some users with any ongoing maintenance etc for others. Thanks Kevin -----Original Message----- From: Yasumasa Suenaga <yasue...@gmail.com> Sent: Thursday, January 2, 2025 1:12 PM To: serviceability-dev@openjdk.org Cc: Yasumasa Suenaga <suen...@oss.nttdata.com>; Kevin Walls <kevin.wa...@oracle.com> Subject: [External] : Alternative to sadebugd Hi all, sadebugd and related options in jhsdb have been deprecated by JDK-8338894 since JDK 24. I agree with RMI removal from SA, but I'd like to keep remote debugger feature for some cases. For example, sadebugd can be used to debug in distroless container on Kubernetes. As you know distroless container does not have any shell, and also no JDK tools including jhsdb. If we want to analyze hang-up'ed JVM in it with HSDB, we have to attach ephemeral container and expose the port for debugging to connect from HSDB. I talked about use case of jhsdb debugd on Kubernetes (in Japanese...) https://urldefense.com/v3/__https://www.youtube.com/watch?v=5evMwwPUl14&t=346s__;!!ACWV5N9M2RV99hQ!NuxD4yot2sGNRM2ovu1uXExdmfovb9hK4Vsy0eFNRgniGUI1ElO6gzPaEx2Q6Btqs5c9rA57DQRGV_0QBQ$ So I want to alternative it to HTTP: https://urldefense.com/v3/__https://github.com/openjdk/jdk/compare/master...YaSuenag:jdk:http-sadebugd__;!!ACWV5N9M2RV99hQ!NuxD4yot2sGNRM2ovu1uXExdmfovb9hK4Vsy0eFNRgniGUI1ElO6gzPaEx2Q6Btqs5c9rA57DQQf3ZTEeQ$ This change works with some CLHSDB commands (jstack, findsym at least). Note that it has some errors and does not have some implementations and test cases. You can use this following command: Server: jhsdb httpserver --host testhost --port 8080 --pid <PID> Client: jhsdb clhsdb --httpconnect https://urldefense.com/v3/__http://testhost:8080/__;!!ACWV5N9M2RV99hQ!NuxD4yot2sGNRM2ovu1uXExdmfovb9hK4Vsy0eFNRgniGUI1ElO6gzPaEx2Q6Btqs5c9rA57DQQeBBszCA$ This change transports debugging data on HTTP. We can set reverse proxy (for HTTPS endpoint and/or authentication) for secure connection if need. Remote debugging removal has been filed as JDK-8340121. It does not seem to be targeted, but the work might be started soon. So I'd like to make alternatives by then. What do you think? Thanks, Yasumasa