Matt Czyz created ORC-596: ----------------------------- Summary: ClassCastException when using EMR Hadoop KMS with ORC encryption Key: ORC-596 URL: https://issues.apache.org/jira/browse/ORC-596 Project: ORC Issue Type: Bug Components: Java Affects Versions: 1.6.2 Environment: emr-5.29.0 Hadoop KMS 2.8.5 Reporter: Matt Czyz Attachments: WriteOrc.java, castexception.patch
I am getting cast exception from Writer when using encryption and EMR Hadoop KMS to manage keys. {code:java} Exception in thread "main" java.lang.ClassCastException: org.apache.hadoop.crypto.key.kms.KMSClientProvider cannot be cast to org.apache.hadoop.crypto.key.KeyProviderCryptoExtension at org.apache.orc.impl.HadoopShimsPre2_7$KeyProviderImpl.createLocalKey(HadoopShimsPre2_7.java:168) at org.apache.orc.impl.WriterImpl.visitTypeTree(WriterImpl.java:894) at org.apache.orc.impl.WriterImpl.visitTypeTree(WriterImpl.java:904) at org.apache.orc.impl.WriterImpl.setupEncryption(WriterImpl.java:927) at org.apache.orc.impl.WriterImpl.<init>(WriterImpl.java:160) at org.apache.orc.OrcFile.createWriter(OrcFile.java:971) {code} Changing _(KeyProviderCryptoExtension)this.provider_ to _(KeyProviderCryptoExtension.CryptoExtension)this.provider_ at HadoopShimsPre2_7.java:168 and :188 fixes this for me. Code to replicate attached - requires to point to a valid Hadoop KMS containing "test_key" key. -- This message was sent by Atlassian Jira (v8.3.4#803005)