[
https://issues.apache.org/jira/browse/HDFS-6733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Charles Lamb resolved HDFS-6733.
--------------------------------
Resolution: Fixed
Fix Version/s: fs-encryption (HADOOP-10150 and HDFS-6134)
Target Version/s: fs-encryption (HADOOP-10150 and HDFS-6134)
Committed to fs-encryption.
> Creating encryption zone results in NPE when KeyProvider is null
> ----------------------------------------------------------------
>
> Key: HDFS-6733
> URL: https://issues.apache.org/jira/browse/HDFS-6733
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: security
> Affects Versions: fs-encryption (HADOOP-10150 and HDFS-6134)
> Reporter: Stephen Chu
> Assignee: Charles Lamb
> Fix For: fs-encryption (HADOOP-10150 and HDFS-6134)
>
> Attachments: HDFS-6733.001.patch, HDFS-6733.002.patch
>
>
> When users try to create an encryption zone on a system that is not
> configured with a KeyProvider, they will run into a NullPointerException.
> For example:
> [hdfs@schu-enc2 ~]$ hdfs crypto -createZone -keyName abc123 -path /user/hdfs
> 2014-07-22 23:18:23,273 WARN [main] crypto.CryptoCodec
> (CryptoCodec.java:getInstance(70)) - Crypto codec
> org.apache.hadoop.crypto.OpensslAesCtrCryptoCodec is not available.
> RemoteException: java.lang.NullPointerException
> This error happens in
> FSNamesystem.createEncryptionZone(FSNamesystem.java:8456):
> {code}
> try {
> if (keyName == null || keyName.isEmpty()) {
> keyName = UUID.randomUUID().toString();
> createNewKey(keyName, src);
> createdKey = true;
> } else {
> KeyVersion keyVersion = provider.getCurrentKey(keyName);
> if (keyVersion == null) {
> {code}
> provider can be null.
> An improvement would be to make the error message more specific/say that
> KeyProvider was not found.
--
This message was sent by Atlassian JIRA
(v6.2#6252)