This is an automated email from the ASF dual-hosted git repository.
bharathv pushed a commit to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-1 by this push:
new b7fbfdd HBASE-26074: Fix
testLogLevelByHttps/testLogLevelByHttpsWithSpnego (#3466)
b7fbfdd is described below
commit b7fbfdd0786e18fa9789f5bf164ddc0b0a4f1655
Author: Bharath Vissapragada <[email protected]>
AuthorDate: Thu Jul 8 22:46:50 2021 -0700
HBASE-26074: Fix testLogLevelByHttps/testLogLevelByHttpsWithSpnego (#3466)
Signed-off-by: Reid Chan <[email protected]>
---
.../apache/hadoop/hbase/http/log/TestLogLevel.java | 35 +++++++++++++---------
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git
a/hbase-server/src/test/java/org/apache/hadoop/hbase/http/log/TestLogLevel.java
b/hbase-server/src/test/java/org/apache/hadoop/hbase/http/log/TestLogLevel.java
index b475c1a..bf90bac 100644
---
a/hbase-server/src/test/java/org/apache/hadoop/hbase/http/log/TestLogLevel.java
+++
b/hbase-server/src/test/java/org/apache/hadoop/hbase/http/log/TestLogLevel.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import com.google.common.base.Joiner;
import java.io.File;
import java.net.BindException;
import java.net.SocketException;
@@ -400,7 +401,7 @@ public class TestLogLevel {
testDynamicLogLevel(LogLevel.PROTOCOL_HTTP, LogLevel.PROTOCOL_HTTPS,
false);
fail("A HTTPS Client should not have succeeded in connecting to a HTTP
server");
} catch (SSLException e) {
- exceptionShouldContains("Unrecognized SSL message", e);
+ exceptionShouldContains(e, "Unrecognized SSL message");
}
}
@@ -417,7 +418,7 @@ public class TestLogLevel {
testDynamicLogLevel(LogLevel.PROTOCOL_HTTP, LogLevel.PROTOCOL_HTTPS,
true);
fail("A HTTPS Client should not have succeeded in connecting to a HTTP
server");
} catch (SSLException e) {
- exceptionShouldContains("Unrecognized SSL message", e);
+ exceptionShouldContains(e, "Unrecognized SSL message");
}
}
@@ -434,7 +435,10 @@ public class TestLogLevel {
testDynamicLogLevel(LogLevel.PROTOCOL_HTTPS, LogLevel.PROTOCOL_HTTP,
false);
fail("A HTTP Client should not have succeeded in connecting to a HTTPS
server");
} catch (SocketException e) {
- exceptionShouldContains("Unexpected end of file from server", e);
+ // Connection clean up and state management depends on the JVM and it's
corresponding SSL
+ // libraries in use. We specifically noticed different behaviors with
OpenJDK and Azul JVMs,
+ // See HBASE-26074.
+ exceptionShouldContains(e, "Unexpected end of file from server",
"Connection reset");
}
}
@@ -453,12 +457,12 @@ public class TestLogLevel {
fail("A HTTP Client should not have succeeded in connecting to a " +
"HTTPS server");
} catch (SocketException e) {
- exceptionShouldContains("Unexpected end of file from server", e);
+ exceptionShouldContains(e, "Unexpected end of file from server",
"Connection reset");
}
}
/**
- * Assert that a throwable or one of its causes should contain the substr in
its message.
+ * Assert that a throwable or one of its causes should contain any of the
substr in its message.
*
* Ideally we should use {@link
GenericTestUtils#assertExceptionContains(String, Throwable)} util
* method which asserts t.toString() contains the substr. As the original
throwable may have been
@@ -466,16 +470,19 @@ public class TestLogLevel {
* After stop supporting Hadoop2, this method can be removed and assertion
in tests can use
* t.getCause() directly, similar to HADOOP-15280.
*/
- private static void exceptionShouldContains(String substr, Throwable
throwable) {
- Throwable t = throwable;
- while (t != null) {
- String msg = t.toString();
- if (msg != null && msg.toLowerCase().contains(substr.toLowerCase())) {
- return;
+ private static void exceptionShouldContains(Throwable throwable, String...
substr) {
+ for (String s: substr) {
+ Throwable t = throwable;
+ while (t != null) {
+ String msg = t.toString();
+ if (msg != null && msg.toLowerCase().contains(s.toLowerCase())) {
+ return;
+ }
+ t = t.getCause();
}
- t = t.getCause();
}
- throw new AssertionError("Expected to find '" + substr + "' but got
unexpected exception:" +
- StringUtils.stringifyException(throwable), throwable);
+ String debug = "[" + Joiner.on(" , ").join(substr) + "]";
+ throw new AssertionError("Expected to find any of " + debug + " but got
unexpected"
+ + " exception:" + StringUtils.stringifyException(throwable), throwable);
}
}