Creating table failed with JDK 25
- 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
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