[ 
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)

Reply via email to