Details

      Description

      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):

          try {
            if (keyName == null || keyName.isEmpty()) {
              keyName = UUID.randomUUID().toString();
              createNewKey(keyName, src);
              createdKey = true;
            } else {
              KeyVersion keyVersion = provider.getCurrentKey(keyName);
              if (keyVersion == null) {
      

      provider can be null.

      An improvement would be to make the error message more specific/say that KeyProvider was not found.

        Attachments

        1. HDFS-6733.001.patch
          3 kB
          Charles Lamb
        2. HDFS-6733.002.patch
          3 kB
          Charles Lamb

          Activity

            People

            • Assignee:
              clamb Charles Lamb
              Reporter:
              schu Stephen Chu
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: