lisisism opened a new issue, #10630: URL: https://github.com/apache/seatunnel/issues/10630
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found no similar issues. ### What happened When source reads from HDFS cluster A and sink writes ORC format to a different HDFS cluster B with different Kerberos principal and keytab, the job fails immediately. The same config with file_format_type = "parquet" works fine. ORC format works fine when source and sink use the same cluster. Only ORC + cross-cluster + different Kerberos principal fails. Root Cause: OrcWriteStrategy.getOrCreateOutputStream() does not use doWithHadoopAuth(), so it picks up the source cluster's UGI instead of the sink cluster's credentials. ParquetWriteStrategy wraps writer creation inside doWithHadoopAuth() which is why parquet works correctly. ### SeaTunnel Version 2.3.13 ### SeaTunnel Config ```conf source { HdfsFile { fs.defaultFS = "hdfs://cluster-a:9000" file_format_type = "parquet" kerberos_principal = "hdfs/[email protected]" kerberos_keytab_path = "/path/to/cluster-a.keytab" krb5_path = "/path/to/krb5.conf" } } sink { HdfsFile { fs.defaultFS = "hdfs://cluster-b:9000" file_format_type = "orc" kerberos_principal = "hdfs/[email protected]" kerberos_keytab_path = "/path/to/cluster-b.keytab" krb5_path = "/path/to/krb5.conf" } } ``` ### Running Command ```shell ./bin/seatunnel.sh --config config/job.conf ``` ### Error Exception ```log GSSException: No valid credentials provided (Mechanism level: Generic error (60) - PROCESS_TGS) KrbException: Identifier doesn't match expected value (906) Caused by: FileConnectorException: Get orc writer for file [...snappy.orc] error ``` ### Zeta or Flink or Spark Version Zeta ### Java or Scala Version Java 1.8.0_412 ### Screenshots _No response_ ### Are you willing to submit PR? - [x] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- 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]
