DanielCarter-stack commented on issue #10630:
URL: https://github.com/apache/seatunnel/issues/10630#issuecomment-4096257332

   <!-- code-pr-reviewer -->
   Thanks for the detailed analysis and willingness to contribute. This issue 
is confirmed.
   
   In `OrcWriteStrategy.getOrCreateOutputStream()`, the ORC writer creation 
(`OrcFile.createWriter`) is not wrapped with 
`hadoopFileSystemProxy.doWithHadoopAuth()`, so it executes under the source 
cluster's UGI context instead of the sink's Kerberos principal when connecting 
to different clusters. This explains why Parquet sink works correctly—it 
properly uses `doWithHadoopAuth()` in 
`ParquetWriteStrategy.getOrCreateOutputStream()`.
   
   **Evidence:**
   - Missing `doWithHadoopAuth()` wrapper: 
`connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/sink/writer/OrcWriteStrategy.java:135-159`
   - Correct pattern in Parquet: 
`connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/sink/writer/ParquetWriteStrategy.java:159-205`
   
   Suggested fix: wrap the `OrcFile.createWriter(...)` call with 
`hadoopFileSystemProxy.doWithHadoopAuth(...)` following the same pattern as 
`ParquetWriteStrategy`. Contributions are welcome!


-- 
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]

Reply via email to