Skip to content

Commit 6e980af

Browse files
committed
Upgrading HDFS Repository Plugin to use HDFS 2.8.1 Client (#25497)
Hadoop 2.7.x libraries fail when running on JDK9 due to the version string changing to a single character. On Hadoop 2.8, this is no longer a problem, and it is unclear on whether the fix will be backported to the 2.7 branch. This commit upgrades our dependency of Hadoop for the HDFS Repository to 2.8.1.
1 parent 7f161ef commit 6e980af

22 files changed

+136
-57
lines changed

plugins/repository-hdfs/build.gradle

Lines changed: 56 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ esplugin {
3030
}
3131

3232
versions << [
33-
'hadoop2': '2.7.1'
33+
'hadoop2': '2.8.1'
3434
]
3535

3636
configurations {
@@ -43,7 +43,8 @@ dependencies {
4343
compile "org.apache.hadoop:hadoop-annotations:${versions.hadoop2}"
4444
compile "org.apache.hadoop:hadoop-auth:${versions.hadoop2}"
4545
compile "org.apache.hadoop:hadoop-hdfs:${versions.hadoop2}"
46-
compile 'org.apache.htrace:htrace-core:3.1.0-incubating'
46+
compile "org.apache.hadoop:hadoop-hdfs-client:${versions.hadoop2}"
47+
compile 'org.apache.htrace:htrace-core4:4.0.1-incubating'
4748
compile 'com.google.guava:guava:11.0.2'
4849
compile 'com.google.protobuf:protobuf-java:2.5.0'
4950
compile 'commons-logging:commons-logging:1.1.3'
@@ -229,12 +230,15 @@ if (secureFixtureSupported && false) { // This fails due to a vagrant configurat
229230
thirdPartyAudit.excludes = [
230231
// classes are missing, because we added hadoop jars one by one until tests pass.
231232
'com.google.gson.stream.JsonReader',
232-
'com.google.gson.stream.JsonWriter',
233-
'com.jcraft.jsch.ChannelExec',
234-
'com.jcraft.jsch.JSch',
235-
'com.jcraft.jsch.Logger',
236-
'com.jcraft.jsch.Session',
237-
'com.sun.jersey.api.ParamException',
233+
'com.google.gson.stream.JsonWriter',
234+
'com.jcraft.jsch.ChannelExec',
235+
'com.jcraft.jsch.ChannelSftp',
236+
'com.jcraft.jsch.ChannelSftp$LsEntry',
237+
'com.jcraft.jsch.JSch',
238+
'com.jcraft.jsch.Logger',
239+
'com.jcraft.jsch.Session',
240+
'com.jcraft.jsch.SftpATTRS',
241+
'com.sun.jersey.api.ParamException',
238242
'com.sun.jersey.api.core.HttpContext',
239243
'com.sun.jersey.core.spi.component.ComponentContext',
240244
'com.sun.jersey.core.spi.component.ComponentScope',
@@ -258,6 +262,7 @@ thirdPartyAudit.excludes = [
258262
'io.netty.channel.ChannelHandlerContext',
259263
'io.netty.channel.ChannelInboundHandlerAdapter',
260264
'io.netty.channel.ChannelInitializer',
265+
'io.netty.channel.ChannelOption',
261266
'io.netty.channel.ChannelPipeline',
262267
'io.netty.channel.EventLoopGroup',
263268
'io.netty.channel.SimpleChannelInboundHandler',
@@ -286,7 +291,8 @@ thirdPartyAudit.excludes = [
286291
'io.netty.handler.stream.ChunkedStream',
287292
'io.netty.handler.stream.ChunkedWriteHandler',
288293
'io.netty.util.concurrent.GlobalEventExecutor',
289-
'javax.ws.rs.core.Context',
294+
'io.netty.util.ReferenceCountUtil',
295+
'javax.ws.rs.core.Context',
290296
'javax.ws.rs.core.MediaType',
291297
'javax.ws.rs.core.MultivaluedMap',
292298
'javax.ws.rs.core.Response$ResponseBuilder',
@@ -336,8 +342,7 @@ thirdPartyAudit.excludes = [
336342
'org.apache.commons.digester.substitution.MultiVariableExpander',
337343
'org.apache.commons.digester.substitution.VariableSubstitutor',
338344
'org.apache.commons.digester.xmlrules.DigesterLoader',
339-
'org.apache.commons.httpclient.util.URIUtil',
340-
'org.apache.commons.jxpath.JXPathContext',
345+
'org.apache.commons.jxpath.JXPathContext',
341346
'org.apache.commons.jxpath.ri.JXPathContextReferenceImpl',
342347
'org.apache.commons.jxpath.ri.QName',
343348
'org.apache.commons.jxpath.ri.compiler.NodeNameTest',
@@ -387,7 +392,8 @@ thirdPartyAudit.excludes = [
387392
'org.apache.curator.utils.EnsurePath',
388393
'org.apache.curator.utils.PathUtils',
389394
'org.apache.curator.utils.ThreadUtils',
390-
'org.apache.curator.utils.ZKPaths',
395+
'org.apache.curator.utils.ZKPaths',
396+
'org.apache.directory.shared.kerberos.components.EncryptionKey',
391397
'org.apache.directory.server.kerberos.shared.keytab.Keytab',
392398
'org.apache.directory.server.kerberos.shared.keytab.KeytabEntry',
393399
'org.apache.http.NameValuePair',
@@ -421,33 +427,32 @@ thirdPartyAudit.excludes = [
421427
'org.codehaus.jackson.JsonFactory',
422428
'org.codehaus.jackson.JsonGenerator',
423429
'org.codehaus.jackson.JsonGenerator$Feature',
424-
'org.codehaus.jackson.JsonNode',
425-
'org.codehaus.jackson.map.MappingJsonFactory',
430+
'org.codehaus.jackson.map.MappingJsonFactory',
426431
'org.codehaus.jackson.map.ObjectMapper',
427432
'org.codehaus.jackson.map.ObjectReader',
428433
'org.codehaus.jackson.map.ObjectWriter',
429434
'org.codehaus.jackson.node.ContainerNode',
430-
'org.codehaus.jackson.type.TypeReference',
431-
'org.codehaus.jackson.util.MinimalPrettyPrinter',
435+
'org.codehaus.jackson.util.MinimalPrettyPrinter',
432436
'org.fusesource.leveldbjni.JniDBFactory',
433437
'org.iq80.leveldb.DB',
434438
'org.iq80.leveldb.Options',
435-
'org.iq80.leveldb.WriteBatch',
436-
'org.mortbay.jetty.Connector',
437-
'org.mortbay.jetty.Handler',
438-
'org.mortbay.jetty.InclusiveByteRange',
439-
'org.mortbay.jetty.MimeTypes',
440-
'org.mortbay.jetty.NCSARequestLog',
441-
'org.mortbay.jetty.RequestLog',
442-
'org.mortbay.jetty.Server',
443-
'org.mortbay.jetty.handler.ContextHandler$SContext',
444-
'org.mortbay.jetty.handler.ContextHandler',
445-
'org.mortbay.jetty.handler.ContextHandlerCollection',
446-
'org.mortbay.jetty.handler.HandlerCollection',
447-
'org.mortbay.jetty.handler.RequestLogHandler',
448-
'org.mortbay.jetty.nio.SelectChannelConnector',
449-
'org.mortbay.jetty.security.SslSocketConnector',
450-
'org.mortbay.jetty.servlet.AbstractSessionManager',
439+
'org.iq80.leveldb.WriteBatch',
440+
'org.mortbay.jetty.Connector',
441+
'org.mortbay.jetty.Handler',
442+
'org.mortbay.jetty.InclusiveByteRange',
443+
'org.mortbay.jetty.MimeTypes',
444+
'org.mortbay.jetty.NCSARequestLog',
445+
'org.mortbay.jetty.RequestLog',
446+
'org.mortbay.jetty.Server',
447+
'org.mortbay.jetty.handler.ContextHandler$SContext',
448+
'org.mortbay.jetty.handler.ContextHandler',
449+
'org.mortbay.jetty.handler.ContextHandlerCollection',
450+
'org.mortbay.jetty.handler.HandlerCollection',
451+
'org.mortbay.jetty.handler.RequestLogHandler',
452+
'org.mortbay.jetty.nio.SelectChannelConnector',
453+
'org.mortbay.jetty.security.SslSelectChannelConnector',
454+
'org.mortbay.jetty.security.SslSocketConnector',
455+
'org.mortbay.jetty.servlet.AbstractSessionManager',
451456
'org.mortbay.jetty.servlet.Context',
452457
'org.mortbay.jetty.servlet.DefaultServlet',
453458
'org.mortbay.jetty.servlet.FilterHolder',
@@ -456,8 +461,7 @@ thirdPartyAudit.excludes = [
456461
'org.mortbay.jetty.servlet.ServletHolder',
457462
'org.mortbay.jetty.servlet.SessionHandler',
458463
'org.mortbay.jetty.webapp.WebAppContext',
459-
'org.mortbay.log.Log',
460-
'org.mortbay.thread.QueuedThreadPool',
464+
'org.mortbay.thread.QueuedThreadPool',
461465
'org.mortbay.util.MultiException',
462466
'org.mortbay.util.ajax.JSON$Convertible',
463467
'org.mortbay.util.ajax.JSON$Output',
@@ -492,9 +496,26 @@ thirdPartyAudit.excludes = [
492496
'org.apache.log4j.AppenderSkeleton',
493497
'org.apache.log4j.AsyncAppender',
494498
'org.apache.log4j.helpers.ISO8601DateFormat',
495-
'org.apache.log4j.spi.ThrowableInformation'
499+
'org.apache.log4j.spi.ThrowableInformation',
500+
501+
// New optional dependencies in 2.8
502+
'com.nimbusds.jose.JWSObject$State',
503+
'com.nimbusds.jose.crypto.RSASSAVerifier',
504+
'com.nimbusds.jwt.ReadOnlyJWTClaimsSet',
505+
'com.nimbusds.jwt.SignedJWT',
506+
'com.squareup.okhttp.Call',
507+
'com.squareup.okhttp.MediaType',
508+
'com.squareup.okhttp.OkHttpClient',
509+
'com.squareup.okhttp.Request$Builder',
510+
'com.squareup.okhttp.RequestBody',
511+
'com.squareup.okhttp.Response',
512+
'com.squareup.okhttp.ResponseBody'
496513
]
497514

515+
if (project.rootProject.ext.javaVersion == JavaVersion.VERSION_1_9) {
516+
thirdPartyAudit.excludes.add('javax.xml.bind.annotation.adapters.HexBinaryAdapter')
517+
}
518+
498519
// Gradle 2.13 bundles org.slf4j.impl.StaticLoggerBinder in its core.jar which leaks into the forbidden APIs ant task
499520
// Gradle 2.14+ does not bundle this class anymore so we need to properly exclude it here.
500521
if (GradleVersion.current() > GradleVersion.version("2.13")) {

plugins/repository-hdfs/licenses/hadoop-annotations-2.7.1.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
335a867cf42bf789919bfc3229ff26747124e8f1

plugins/repository-hdfs/licenses/hadoop-auth-2.7.1.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
688ccccc0e0739d8737a93b0039a4a661e52084b

plugins/repository-hdfs/licenses/hadoop-client-2.7.1.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
4812f251f8100fd4722c3cec5d7353f71f69cda9

plugins/repository-hdfs/licenses/hadoop-common-2.7.1.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
a4df18b79e4d0349ce4b58a52d314e7ae1d6be99

plugins/repository-hdfs/licenses/hadoop-hdfs-2.7.1.jar.sha1

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)