apache / apache/polaris

Creating table failed with JDK 25

Open
#2,991 4 comments 1 reaction 0 assignees View on GitHub
bug
Dominant language
Java
Stars
2.1k
Forks
522
Avg merge
1d 22h
Merged PRs (30d)
137

Description

### Describe the bug

Client side error msg:
```
{
"error": {
"message": "getSubject is not supported",
"type": "UnsupportedOperationException",
"code": 406
}
}
```

Server side msg:
```
2025-11-05 18:55:24,961 INFO [org.apa.pol.ser.exc.IcebergExceptionMapper] [e259be44-c44b-477b-896a-2c4a628a3994_0000000000000000029,POLARIS] [,,,] (executor-thread-1) Handling runtimeException getSubject is not supported
2025-11-05 18:55:24,962 INFO [io.qua.htt.access-log] [e259be44-c44b-477b-896a-2c4a628a3994_0000000000000000029,POLARIS] [,,,] (executor-thread-1) 127.0.0.1 - root [05/Nov/2025:18:55:24 -0800] "POST /api/catalog/v1/grulab/namespaces/minionHQ/tables HTTP/1.1" 406 101
```

### To Reproduce

Start Polaris server with JDK25

Reason:
Between jdk21 and jdk24, the `SecurityManager` is disabled by default. The `Subject.getSubject()` call depends on an active security manager, so without explicitly opting back in using `-Djava.security.manager=allow`, it throws a “getSubject is not supported” warning. We could allow it explicitly like what we did in the test configuration, see `runtime/service/build.gradle.kts:197`.

As of JDK 24, the SecurityManager is permanently disabled: you cannot enable it at startup, nor install one at runtime, more details in this [doc](https://docs.oracle.com/en/java/javase/25/security/security-manager-is-permanently-disabled.html), we will need to remove SecurityManager in that case.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing table creation with JDK 25 and read the SecurityManager-related configuration at runtime/service/build.gradle.kts:197. Search the server path that reaches Subject.getSubject and compare it with the documented JDK 24+ behavior. Done means table creation succeeds on JDK 25 without the getSubject is not supported error.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.