You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@orc.apache.org by "Matt Czyz (Jira)" <ji...@apache.org> on 2020/02/12 13:01:00 UTC
[jira] [Created] (ORC-596) ClassCastException when using EMR Hadoop
KMS with ORC encryption
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)