-
Notifications
You must be signed in to change notification settings - Fork 444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updates to support Java 11 on 1.9 branch #1295
Conversation
All the unit tests are passing, but I haven't yet tested all the ITs with this change. |
(backport of ec76015) * Update maven-javadoc-plugin * Drop `<javadocVersion>` from maven-javadoc-plugin configuration * Replace `<tt>` tags with `<code>`, since the former is no longer supported * Add `<caption>` for tables (weird Java 11 javadoc requirement)
start/src/main/java/org/apache/accumulo/start/classloader/vfs/AccumuloVFSClassLoader.java
Show resolved
Hide resolved
core/src/main/java/org/apache/accumulo/core/iterators/SortedKeyValueIterator.java
Show resolved
Hide resolved
Partial backport of 0e89ab2 to the 1.9 branch: * Make ShellServerIT.classpath test handle output under Java 11 * Convert dubious DynamicThreadPoolsIT from an IT to a unit test (TabletServerResourceManagerDynamicCompactionPoolTest) * Give SimpleGarbageCollector 16MB of memory instead of 10MB for its gcLotsOfCandidatesIT test, so it doesn't crash under Java 11 before the test runs (Java 11 needs slightly more base memory, it appears)
Also update compiler compliance settings in Eclipse, in the Eclipse profile.
With these changes, all the ITs pass, but only when using the Hadoop 3 profile. The Hadoop 2 profile still results in some test failures, particularly those involving Kerberos. I haven't been able to determine why yet, but likely Hadoop fixed some JDK9+ compatibility issue in their Kerberos code in 3.0.0 and later. I tried the latest versions of 2.6-2.9 (2.6.5, 2.7.7, 2.8.5, and 2.9.2), and the To get the ITs to pass on JDK 11, I can add Assume rules to the failing tests, in order to ensure |
I tried to build with jdk-11 from the 1.9 branch (thought this had been merged) and received javadoc errors.
I could get pass that by adding
to the maven-javadoc-plugin. After that I hit the tt / @code issues and started digging and found this. Not sure if you want to consider adding that to the pom or not. |
I'm pretty sure I've already fixed the javadoc issues in this PR. |
Forcing use of minikdc 3.0.0, even with the Hadoop 2 profile, seems to get KerberosIT passing. I'll run all the ITs with that to see if it fixes the issue generally. |
I think the reason why 3.0.0 works is because minikdc in 3.0.0 is a wrapper around Kerby, instead of using the outdated ApacheDS Kerberos libs (see https://issues.apache.org/jira/browse/HADOOP-12911 and possibly apache/kafka#5586) |
All ITs pass now for every combination of Hadoop |
This multiplies build matrix by two, so effectively you use 4 jobs for 30 minutes each. Note: Travis have only 15 jobs for all Apache projects, so it would be nice if you could either improve job execution time or avoid testing unrelated combinations. Or perform hadoop2/hadoop3 test only for the modules that are related to hadoop.
Those projects do not seem to depend on hadoop version, however those take 4 executors for Here's an example: https://travis-ci.org/apache/accumulo/builds/565122883 |
@vlsi is this causing a problem for other Apache projects? If so, do you know where to find more info about Travis CI resources available? |
I'm afraid it does. I'm developing Gradle build scripts for for Apache JMeter / Apache Calcite, and I experience delays. Build times are fast for my personal projects at the very same time when I experience delays for Apache-related Travis builds, so I related that to the "global limit" for "all Apache projects" at Travis.
Here Greg says that Travis resources can't be increased: https://lists.apache.org/thread.html/5f51f41d705c4a7bcdba35ca7ab07c56c08336ce8026d17f7ed230ca@%3Cbuilds.apache.org%3E Note:
Nice. |
I changed the per-repo setting in GitHub to limit concurrent jobs to 2 for apache/accumulo. Hopefully that helps. Our builds aren't typically that time-sensitive anyway. |
No description provided.