[
https://issues.apache.org/jira/browse/KUDU-3630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17901748#comment-17901748
]
Mateusz Gajewski commented on KUDU-3630:
----------------------------------------
We are using kudu with JDK 23 and it works (if you add
-Djava.security.manager=allow). For JDK 24 this will never work without code
changes. The reflection-based approach allows to use new API without requiring
newer Java version (we use it in our client which is JDK 8 but for JDK 22+ it's
using FFM)
> Kudu uses deprecated SecurityManager features
> ---------------------------------------------
>
> Key: KUDU-3630
> URL: https://issues.apache.org/jira/browse/KUDU-3630
> Project: Kudu
> Issue Type: Improvement
> Components: client, java
> Reporter: Mateusz Gajewski
> Priority: Major
> Labels: client, java, jdk
>
> JDK 18 deprecated Subject.doAs in favour of a new method Subject.callAs. JDK
> 23 requires -Djava.security.manager=allow to use Kudu client, while JDK 24
> removes the Security Manager altogether which makes Kudu client impossible to
> use.
> Kudu client uses deprecated APIs in places like:
> https://github.com/apache/kudu/blob/da6211df5f8df0c53ceedd542b61634f3bab7205/java/kudu-client/src/main/java/org/apache/kudu/client/Negotiator.java#L955
> This can be solved using reflective access as done by other projects, like
> Kafka's shim: https://github.com/apache/kafka/pull/16522
--
This message was sent by Atlassian Jira
(v8.20.10#820010)