Prechádzať zdrojové kódy

HDFS-11050. Change log level to 'warn' when ssl initialization fails and defaults to DEFAULT_TIMEOUT_CONN_CONFIGURATOR. Contributed by Kuhu Shukla.

(cherry picked from commit ce6bbfb23c9aafaf1aaeaeceba88286d4270b316)
Kihwal Lee 8 rokov pred
rodič
commit
366ebb0822

+ 1 - 1
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/URLConnectionFactory.java

@@ -95,7 +95,7 @@ public class URLConnectionFactory {
     try {
       conn = newSslConnConfigurator(DEFAULT_SOCKET_TIMEOUT, conf);
     } catch (Exception e) {
-      LOG.debug(
+      LOG.warn(
           "Cannot load customized ssl related configuration. Fallback to" +
               " system-generic settings.",
           e);

+ 17 - 0
hadoop-hdfs-project/hadoop-hdfs-client/src/test/java/org/apache/hadoop/hdfs/web/TestURLConnectionFactory.java

@@ -22,11 +22,15 @@ import java.net.HttpURLConnection;
 import java.net.URL;
 import java.util.List;
 
+import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.authentication.client.ConnectionConfigurator;
+import org.apache.hadoop.security.ssl.SSLFactory;
+import org.apache.hadoop.test.GenericTestUtils;
 import org.junit.Assert;
 import org.junit.Test;
 
 import com.google.common.collect.Lists;
+import org.slf4j.LoggerFactory;
 
 public final class TestURLConnectionFactory {
 
@@ -47,4 +51,17 @@ public final class TestURLConnectionFactory {
     fc.openConnection(u);
     Assert.assertEquals(1, conns.size());
   }
+
+  @Test
+  public void testSSLInitFailure() throws Exception {
+    Configuration conf = new Configuration();
+    conf.set(SSLFactory.SSL_HOSTNAME_VERIFIER_KEY, "foo");
+    GenericTestUtils.LogCapturer logs =
+        GenericTestUtils.LogCapturer.captureLogs(
+            LoggerFactory.getLogger(URLConnectionFactory.class));
+    URLConnectionFactory.newDefaultURLConnectionFactory(conf);
+    Assert.assertTrue("Expected log for ssl init failure not found!",
+        logs.getOutput().contains(
+        "Cannot load customized ssl related configuration"));
+  }
 }