You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by aj...@apache.org on 2019/04/29 21:09:21 UTC
[hadoop] branch ozone-0.4 updated: HDDS-1430. NPE if secure ozone
if KMS uri is not defined. Contributed by Ajay Kumar. (#752)
This is an automated email from the ASF dual-hosted git repository.
ajay pushed a commit to branch ozone-0.4
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/ozone-0.4 by this push:
new 43d5f89 HDDS-1430. NPE if secure ozone if KMS uri is not defined. Contributed by Ajay Kumar. (#752)
43d5f89 is described below
commit 43d5f892effa649153b09c0fc0a168e379d6e1ce
Author: Ajay Yadav <78...@users.noreply.github.com>
AuthorDate: Mon Apr 29 14:07:23 2019 -0700
HDDS-1430. NPE if secure ozone if KMS uri is not defined. Contributed by Ajay Kumar. (#752)
(cherry picked from commit 95790bb7e5f59a53cd54bc4c7c7fd93d17173e55)
---
.../hadoop/ozone/client/rpc/OzoneKMSUtil.java | 3 ++
.../hadoop/ozone/client/rpc/TestOzoneKMSUtil.java | 51 ++++++++++++++++++++++
.../apache/hadoop/fs/ozone/OzoneFileSystem.java | 8 +++-
3 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/OzoneKMSUtil.java b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/OzoneKMSUtil.java
index ba00a31..6be7770 100644
--- a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/OzoneKMSUtil.java
+++ b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/OzoneKMSUtil.java
@@ -128,6 +128,9 @@ public final class OzoneKMSUtil {
public static KeyProvider getKeyProvider(final Configuration conf,
final URI serverProviderUri) throws IOException{
+ if (serverProviderUri == null) {
+ throw new IOException("KMS serverProviderUri is not configured.");
+ }
return KMSUtil.createKeyProviderFromUri(conf, serverProviderUri);
}
diff --git a/hadoop-ozone/client/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneKMSUtil.java b/hadoop-ozone/client/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneKMSUtil.java
new file mode 100644
index 0000000..49fb5e3
--- /dev/null
+++ b/hadoop-ozone/client/src/test/java/org/apache/hadoop/ozone/client/rpc/TestOzoneKMSUtil.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.ozone.client.rpc;
+
+import org.apache.hadoop.hdds.conf.OzoneConfiguration;
+import org.apache.hadoop.ozone.OzoneConfigKeys;
+import org.junit.Before;
+import org.junit.Test;
+
+import java.io.IOException;
+
+import static org.junit.Assert.*;
+
+/**
+ * Test class for {@link OzoneKMSUtil}.
+ * */
+public class TestOzoneKMSUtil {
+ private OzoneConfiguration config;
+
+ @Before
+ public void setUp() {
+ config = new OzoneConfiguration();
+ config.setBoolean(OzoneConfigKeys.OZONE_SECURITY_ENABLED_KEY, true);
+ }
+
+ @Test
+ public void getKeyProvider() {
+ try {
+ OzoneKMSUtil.getKeyProvider(config, null);
+ fail("Expected IOException.");
+ } catch (IOException ioe) {
+ assertEquals(ioe.getMessage(), "KMS serverProviderUri is " +
+ "not configured.");
+ }
+ }
+}
\ No newline at end of file
diff --git a/hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/OzoneFileSystem.java b/hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/OzoneFileSystem.java
index f8e8fb4..983c5a9 100644
--- a/hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/OzoneFileSystem.java
+++ b/hadoop-ozone/ozonefs/src/main/java/org/apache/hadoop/fs/ozone/OzoneFileSystem.java
@@ -59,7 +59,13 @@ public class OzoneFileSystem extends BasicOzoneFileSystem
@Override
public DelegationTokenIssuer[] getAdditionalTokenIssuers()
throws IOException {
- KeyProvider keyProvider = getKeyProvider();
+ KeyProvider keyProvider;
+ try {
+ keyProvider = getKeyProvider();
+ } catch (IOException ioe) {
+ LOG.error("Error retrieving KeyProvider.", ioe);
+ return null;
+ }
if (keyProvider instanceof DelegationTokenIssuer) {
return new DelegationTokenIssuer[]{(DelegationTokenIssuer)keyProvider};
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org