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)

Reply via email to