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]
