morningman opened a new pull request, #64655:
URL: https://github.com/apache/doris/pull/64655

   ## What
   
   **P3b: consolidate the drifted Kerberos/Hadoop authentication 
implementations into the new top-level neutral leaf module `fe-kerberos`** as 
the single source of truth.
   
   Done as 3 commits:
   
   1. **trino → JDK** (`4a740e1`) — replace the only external dependency in the 
auth path, trino's `KerberosTicketUtils`, with a JDK-only 
(`javax.security.auth.kerberos`) byte-for-byte equivalent, so the kerberos path 
is trino-free.
   2. **relocate** (`8898e15`) — move the 13 `fe-common` 
`security.authentication.*` classes to `org.apache.doris.kerberos.*` in 
`fe-kerberos`; retarget all consumer imports (fe-core + 3 be-java-extensions 
scanners); merge the duplicate `AuthType`.
   3. **unify interface** (`5e3e896`) — merge the two competing 
`HadoopAuthenticator` interfaces (fe-common's `PrivilegedExceptionAction` 
variant vs fe-filesystem-spi's `IOCallable` variant) into the single 
fe-kerberos one, and delete fe-filesystem-hdfs's own 
`KerberosHadoopAuthenticator`/`SimpleHadoopAuthenticator` copies (which had 
drifted from the canonical impls). `DFSFileSystem` now routes through the 
shared authenticators.
   
   `fe-kerberos` remains a top-level neutral leaf (no dependency cycle).
   
   ## Behavior
   
   HDFS filesystem access now uses the same authenticators as the HMS path 
(restoring parity). Two intentional behavior changes in fe-filesystem-hdfs: 
simple / no-`hadoop.username` now runs as remote user `hadoop` (was: FE process 
user, direct); kerberos uses the shared `LoginContext` + 80%-lifetime refresh.
   
   ## Tests
   
   fe-filesystem-hdfs 79/0/0 (+fe-kerberos/spi), checkstyle 0, connector 
import-gate clean, whole-repo grep for the removed symbols = 0.
   
   > ⚠️ docker kerberos e2e (HDFS kerberized + HMS) NOT yet run — the real 
gate; UGI login can't be exercised in unit tests.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   https://claude.ai/code/session_011mTrPcvMZtFjsxWJM5TRnG
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to