Skip to content

Commit 74f4a14

Browse files
authored
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 c70c440 commit 74f4a14

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
@@ -32,7 +32,7 @@ esplugin {
3232
apply plugin: 'elasticsearch.vagrantsupport'
3333

3434
versions << [
35-
'hadoop2': '2.7.1'
35+
'hadoop2': '2.8.1'
3636
]
3737

3838
configurations {
@@ -45,7 +45,8 @@ dependencies {
4545
compile "org.apache.hadoop:hadoop-annotations:${versions.hadoop2}"
4646
compile "org.apache.hadoop:hadoop-auth:${versions.hadoop2}"
4747
compile "org.apache.hadoop:hadoop-hdfs:${versions.hadoop2}"
48-
compile 'org.apache.htrace:htrace-core:3.1.0-incubating'
48+
compile "org.apache.hadoop:hadoop-hdfs-client:${versions.hadoop2}"
49+
compile 'org.apache.htrace:htrace-core4:4.0.1-incubating'
4950
compile 'com.google.guava:guava:11.0.2'
5051
compile 'com.google.protobuf:protobuf-java:2.5.0'
5152
compile 'commons-logging:commons-logging:1.1.3'
@@ -210,12 +211,15 @@ if (secureFixtureSupported) {
210211
thirdPartyAudit.excludes = [
211212
// classes are missing, because we added hadoop jars one by one until tests pass.
212213
'com.google.gson.stream.JsonReader',
213-
'com.google.gson.stream.JsonWriter',
214-
'com.jcraft.jsch.ChannelExec',
215-
'com.jcraft.jsch.JSch',
216-
'com.jcraft.jsch.Logger',
217-
'com.jcraft.jsch.Session',
218-
'com.sun.jersey.api.ParamException',
214+
'com.google.gson.stream.JsonWriter',
215+
'com.jcraft.jsch.ChannelExec',
216+
'com.jcraft.jsch.ChannelSftp',
217+
'com.jcraft.jsch.ChannelSftp$LsEntry',
218+
'com.jcraft.jsch.JSch',
219+
'com.jcraft.jsch.Logger',
220+
'com.jcraft.jsch.Session',
221+
'com.jcraft.jsch.SftpATTRS',
222+
'com.sun.jersey.api.ParamException',
219223
'com.sun.jersey.api.core.HttpContext',
220224
'com.sun.jersey.core.spi.component.ComponentContext',
221225
'com.sun.jersey.core.spi.component.ComponentScope',
@@ -239,6 +243,7 @@ thirdPartyAudit.excludes = [
239243
'io.netty.channel.ChannelHandlerContext',
240244
'io.netty.channel.ChannelInboundHandlerAdapter',
241245
'io.netty.channel.ChannelInitializer',
246+
'io.netty.channel.ChannelOption',
242247
'io.netty.channel.ChannelPipeline',
243248
'io.netty.channel.EventLoopGroup',
244249
'io.netty.channel.SimpleChannelInboundHandler',
@@ -267,7 +272,8 @@ thirdPartyAudit.excludes = [
267272
'io.netty.handler.stream.ChunkedStream',
268273
'io.netty.handler.stream.ChunkedWriteHandler',
269274
'io.netty.util.concurrent.GlobalEventExecutor',
270-
'javax.ws.rs.core.Context',
275+
'io.netty.util.ReferenceCountUtil',
276+
'javax.ws.rs.core.Context',
271277
'javax.ws.rs.core.MediaType',
272278
'javax.ws.rs.core.MultivaluedMap',
273279
'javax.ws.rs.core.Response$ResponseBuilder',
@@ -317,8 +323,7 @@ thirdPartyAudit.excludes = [
317323
'org.apache.commons.digester.substitution.MultiVariableExpander',
318324
'org.apache.commons.digester.substitution.VariableSubstitutor',
319325
'org.apache.commons.digester.xmlrules.DigesterLoader',
320-
'org.apache.commons.httpclient.util.URIUtil',
321-
'org.apache.commons.jxpath.JXPathContext',
326+
'org.apache.commons.jxpath.JXPathContext',
322327
'org.apache.commons.jxpath.ri.JXPathContextReferenceImpl',
323328
'org.apache.commons.jxpath.ri.QName',
324329
'org.apache.commons.jxpath.ri.compiler.NodeNameTest',
@@ -368,7 +373,8 @@ thirdPartyAudit.excludes = [
368373
'org.apache.curator.utils.EnsurePath',
369374
'org.apache.curator.utils.PathUtils',
370375
'org.apache.curator.utils.ThreadUtils',
371-
'org.apache.curator.utils.ZKPaths',
376+
'org.apache.curator.utils.ZKPaths',
377+
'org.apache.directory.shared.kerberos.components.EncryptionKey',
372378
'org.apache.directory.server.kerberos.shared.keytab.Keytab',
373379
'org.apache.directory.server.kerberos.shared.keytab.KeytabEntry',
374380
'org.apache.http.NameValuePair',
@@ -402,33 +408,32 @@ thirdPartyAudit.excludes = [
402408
'org.codehaus.jackson.JsonFactory',
403409
'org.codehaus.jackson.JsonGenerator',
404410
'org.codehaus.jackson.JsonGenerator$Feature',
405-
'org.codehaus.jackson.JsonNode',
406-
'org.codehaus.jackson.map.MappingJsonFactory',
411+
'org.codehaus.jackson.map.MappingJsonFactory',
407412
'org.codehaus.jackson.map.ObjectMapper',
408413
'org.codehaus.jackson.map.ObjectReader',
409414
'org.codehaus.jackson.map.ObjectWriter',
410415
'org.codehaus.jackson.node.ContainerNode',
411-
'org.codehaus.jackson.type.TypeReference',
412-
'org.codehaus.jackson.util.MinimalPrettyPrinter',
416+
'org.codehaus.jackson.util.MinimalPrettyPrinter',
413417
'org.fusesource.leveldbjni.JniDBFactory',
414418
'org.iq80.leveldb.DB',
415419
'org.iq80.leveldb.Options',
416-
'org.iq80.leveldb.WriteBatch',
417-
'org.mortbay.jetty.Connector',
418-
'org.mortbay.jetty.Handler',
419-
'org.mortbay.jetty.InclusiveByteRange',
420-
'org.mortbay.jetty.MimeTypes',
421-
'org.mortbay.jetty.NCSARequestLog',
422-
'org.mortbay.jetty.RequestLog',
423-
'org.mortbay.jetty.Server',
424-
'org.mortbay.jetty.handler.ContextHandler$SContext',
425-
'org.mortbay.jetty.handler.ContextHandler',
426-
'org.mortbay.jetty.handler.ContextHandlerCollection',
427-
'org.mortbay.jetty.handler.HandlerCollection',
428-
'org.mortbay.jetty.handler.RequestLogHandler',
429-
'org.mortbay.jetty.nio.SelectChannelConnector',
430-
'org.mortbay.jetty.security.SslSocketConnector',
431-
'org.mortbay.jetty.servlet.AbstractSessionManager',
420+
'org.iq80.leveldb.WriteBatch',
421+
'org.mortbay.jetty.Connector',
422+
'org.mortbay.jetty.Handler',
423+
'org.mortbay.jetty.InclusiveByteRange',
424+
'org.mortbay.jetty.MimeTypes',
425+
'org.mortbay.jetty.NCSARequestLog',
426+
'org.mortbay.jetty.RequestLog',
427+
'org.mortbay.jetty.Server',
428+
'org.mortbay.jetty.handler.ContextHandler$SContext',
429+
'org.mortbay.jetty.handler.ContextHandler',
430+
'org.mortbay.jetty.handler.ContextHandlerCollection',
431+
'org.mortbay.jetty.handler.HandlerCollection',
432+
'org.mortbay.jetty.handler.RequestLogHandler',
433+
'org.mortbay.jetty.nio.SelectChannelConnector',
434+
'org.mortbay.jetty.security.SslSelectChannelConnector',
435+
'org.mortbay.jetty.security.SslSocketConnector',
436+
'org.mortbay.jetty.servlet.AbstractSessionManager',
432437
'org.mortbay.jetty.servlet.Context',
433438
'org.mortbay.jetty.servlet.DefaultServlet',
434439
'org.mortbay.jetty.servlet.FilterHolder',
@@ -437,8 +442,7 @@ thirdPartyAudit.excludes = [
437442
'org.mortbay.jetty.servlet.ServletHolder',
438443
'org.mortbay.jetty.servlet.SessionHandler',
439444
'org.mortbay.jetty.webapp.WebAppContext',
440-
'org.mortbay.log.Log',
441-
'org.mortbay.thread.QueuedThreadPool',
445+
'org.mortbay.thread.QueuedThreadPool',
442446
'org.mortbay.util.MultiException',
443447
'org.mortbay.util.ajax.JSON$Convertible',
444448
'org.mortbay.util.ajax.JSON$Output',
@@ -473,9 +477,26 @@ thirdPartyAudit.excludes = [
473477
'org.apache.log4j.AppenderSkeleton',
474478
'org.apache.log4j.AsyncAppender',
475479
'org.apache.log4j.helpers.ISO8601DateFormat',
476-
'org.apache.log4j.spi.ThrowableInformation'
480+
'org.apache.log4j.spi.ThrowableInformation',
481+
482+
// New optional dependencies in 2.8
483+
'com.nimbusds.jose.JWSObject$State',
484+
'com.nimbusds.jose.crypto.RSASSAVerifier',
485+
'com.nimbusds.jwt.ReadOnlyJWTClaimsSet',
486+
'com.nimbusds.jwt.SignedJWT',
487+
'com.squareup.okhttp.Call',
488+
'com.squareup.okhttp.MediaType',
489+
'com.squareup.okhttp.OkHttpClient',
490+
'com.squareup.okhttp.Request$Builder',
491+
'com.squareup.okhttp.RequestBody',
492+
'com.squareup.okhttp.Response',
493+
'com.squareup.okhttp.ResponseBody'
477494
]
478495

496+
if (project.rootProject.ext.javaVersion == JavaVersion.VERSION_1_9) {
497+
thirdPartyAudit.excludes.add('javax.xml.bind.annotation.adapters.HexBinaryAdapter')
498+
}
499+
479500
// Gradle 2.13 bundles org.slf4j.impl.StaticLoggerBinder in its core.jar which leaks into the forbidden APIs ant task
480501
// Gradle 2.14+ does not bundle this class anymore so we need to properly exclude it here.
481502
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)