Skip to content

Commit

Permalink
HBASE-23829 Get -PrunSmallTests passing on JDK11
Browse files Browse the repository at this point in the history
Signed-off-by: stack <[email protected]>
  • Loading branch information
ndimiduk committed Mar 17, 2020
1 parent f951913 commit 33cb9fc
Show file tree
Hide file tree
Showing 6 changed files with 86 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
*/
package org.apache.hadoop.hbase.util;

import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.startsWith;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
Expand Down Expand Up @@ -69,7 +70,7 @@ public void testRecordStackTrace() throws IOException {
} catch (HBaseIOException e) {
assertEquals("Inject error!", e.getMessage());
StackTraceElement[] elements = e.getStackTrace();
assertThat(elements[0].toString(), startsWith("java.lang.Thread.getStackTrace"));
assertThat(elements[0].toString(), containsString("java.lang.Thread.getStackTrace"));
assertThat(elements[1].toString(),
startsWith("org.apache.hadoop.hbase.util.FutureUtils.setStackTrace"));
assertThat(elements[2].toString(),
Expand Down
8 changes: 8 additions & 0 deletions hbase-hadoop2-compat/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,14 @@ limitations under the License.
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<!--
a missing transitive dependency on JDK9+ (obsoleted by Hadoop-3.3.0+, HADOOP-15775)
-->
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -480,7 +480,7 @@ private static void exceptionShouldContains(String substr, Throwable throwable)
Throwable t = throwable;
while (t != null) {
String msg = t.toString();
if (msg != null && msg.contains(substr)) {
if (msg != null && msg.toLowerCase().contains(substr.toLowerCase())) {
return;
}
t = t.getCause();
Expand Down
7 changes: 0 additions & 7 deletions hbase-shaded/hbase-shaded-check-invariants/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -88,13 +88,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra.enforcer.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>enforce-banned-dependencies</id>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra.enforcer.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>enforce-banned-dependencies</id>
Expand Down
93 changes: 75 additions & 18 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -820,6 +820,23 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${enforcer.version}</version>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra.enforcer.version}</version>
</dependency>
<dependency>
<groupId>de.skuzzle.enforcer</groupId>
<artifactId>restrict-imports-enforcer-rule</artifactId>
<version>${restrict-imports.enforcer.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
<plugins>
Expand Down Expand Up @@ -858,20 +875,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${enforcer.version}</version>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra.enforcer.version}</version>
</dependency>
<dependency>
<groupId>de.skuzzle.enforcer</groupId>
<artifactId>restrict-imports-enforcer-rule</artifactId>
<version>${restrict-imports.enforcer.version}</version>
</dependency>
</dependencies>
<!-- version set by parent -->
<executions>
<execution>
<id>hadoop-profile-min-maven-min-java-banned-xerces</id>
Expand Down Expand Up @@ -2222,10 +2225,45 @@
<activation>
<jdk>[1.11,)</jdk>
</activation>
<dependencyManagement>
<dependencies>
</dependencies>
</dependencyManagement>
<properties>
<!-- TODO: replicate logic for windows support -->
<argLine>--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED ${hbase-surefire.argLine}</argLine>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>hadoop3-profile-required</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireProperty>
<!--
$ JAVA_HOME=... mvn -Dhadoop.profile=3.0 -PrunSmallTests help:active-profiles enforcer:display-info clean test
enforcer plugin does not see active profiles on sub-modules, so enforce based
on the presence of the activation property and value.
-->
<property>hadoop.profile</property>
<regex>.*3\.0$</regex>
<message>
HBase with JDK11 requires Hadoop3. Activate the profile with `-Dhadoop.profile=3.0`.
</message>
<regexMessage>
HBase with JDK11 requires Hadoop3. Activate the profile with `-Dhadoop.profile=3.0`.
</regexMessage>
</requireProperty>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- profile activated by the Jenkins patch testing job -->
<profile>
Expand Down Expand Up @@ -2698,6 +2736,16 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<!--
a missing transitive dependency on JDK9+ (obsoleted by Hadoop-3.3.0+, HADOOP-15775)
duplicated here because hadoop-3.0 piggy-backs off the hadoop-2.0 profile.
-->
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
Expand Down Expand Up @@ -3040,6 +3088,15 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<!--
a missing transitive dependency on JDK9+ (obsoleted by Hadoop-3.3.0+, HADOOP-15775)
-->
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
Expand Down

0 comments on commit 33cb9fc

Please sign in to comment.