[ 
https://issues.apache.org/jira/browse/SOLR-10951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16062159#comment-16062159
 ] 

Uwe Schindler commented on SOLR-10951:
--------------------------------------

Hi,

I figured out: To update to Hadoop 2.8.1, we also need hadoop-hdfs-client.jar, 
which is new in 2.8. After adding this dependency, compilation works again. I 
will attach a patch soon. Unfprtunately I cannot test on Windows, so I have to 
start VMs and apply patch there, to look into it.

This would be the easiest. An alternative is to wait for 2.7.4, but this may 
take some time, although Hadoop people want to make it available, thanks 
[~ajisakaa]!

Uwe

> Update hadoop-common dependency, so Solr works with Java 9
> ----------------------------------------------------------
>
>                 Key: SOLR-10951
>                 URL: https://issues.apache.org/jira/browse/SOLR-10951
>             Project: Solr
>          Issue Type: Task
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Hadoop Integration, hdfs
>            Reporter: Uwe Schindler
>              Labels: Java9
>
> See issue: HADOOP-14586
> Since Java 9 build 175 (the first Java 9 relaese candidate), Hadoop 
> integration fails in Java 9:
> {noformat}
>    [junit4]   2> 129956 ERROR (jetty-launcher-232-thread-2) [    ] 
> o.a.s.c.SolrCore null:java.lang.ExceptionInInitializerError
>    [junit4]   2>      at 
> org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:80)
>    [junit4]   2>      at 
> org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1437)
>    [junit4]   2>      at 
> org.apache.hadoop.security.token.delegation.web.DelegationTokenManager.<init>(DelegationTokenManager.java:115)
>    [junit4]   2>      at 
> org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationHandler.initTokenManager(DelegationTokenAuthenticationHandler.java:148)
>    [junit4]   2>      at 
> org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationHandler.init(DelegationTokenAuthenticationHandler.java:118)
>    [junit4]   2>      at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.initializeAuthHandler(AuthenticationFilter.java:238)
>    [junit4]   2>      at 
> org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.initializeAuthHandler(DelegationTokenAuthenticationFilter.java:209)
>    [junit4]   2>      at 
> org.apache.solr.security.HadoopAuthFilter.initializeAuthHandler(HadoopAuthFilter.java:120)
>    [junit4]   2>      at 
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.init(AuthenticationFilter.java:227)
>    [junit4]   2>      at 
> org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.init(DelegationTokenAuthenticationFilter.java:175)
>    [junit4]   2>      at 
> org.apache.solr.security.HadoopAuthFilter.init(HadoopAuthFilter.java:68)
>    [junit4]   2>      at 
> org.apache.solr.security.HadoopAuthPlugin.init(HadoopAuthPlugin.java:142)
>    [junit4]   2>      at 
> org.apache.solr.core.CoreContainer.initializeAuthenticationPlugin(CoreContainer.java:360)
>    [junit4]   2>      at 
> org.apache.solr.core.CoreContainer.reloadSecurityProperties(CoreContainer.java:684)
>    [junit4]   2>      at 
> org.apache.solr.core.CoreContainer.load(CoreContainer.java:522)
>    [junit4]   2>      at 
> org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:257)
>    [junit4]   2>      at 
> org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:177)
>    [junit4]   2>      at 
> org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:137)
>    [junit4]   2>      at 
> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:873)
>    [junit4]   2>      at 
> org.eclipse.jetty.servlet.ServletHandler.updateMappings(ServletHandler.java:1565)
>    [junit4]   2>      at 
> org.eclipse.jetty.servlet.ServletHandler.setFilterMappings(ServletHandler.java:1599)
>    [junit4]   2>      at 
> org.eclipse.jetty.servlet.ServletHandler.addFilterMapping(ServletHandler.java:1285)
>    [junit4]   2>      at 
> org.eclipse.jetty.servlet.ServletHandler.addFilterWithMapping(ServletHandler.java:1130)
>    [junit4]   2>      at 
> org.eclipse.jetty.servlet.ServletContextHandler.addFilter(ServletContextHandler.java:448)
>    [junit4]   2>      at 
> org.apache.solr.client.solrj.embedded.JettySolrRunner$1.lifeCycleStarted(JettySolrRunner.java:306)
>    [junit4]   2>      at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.setStarted(AbstractLifeCycle.java:179)
>    [junit4]   2>      at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
>    [junit4]   2>      at 
> org.apache.solr.client.solrj.embedded.JettySolrRunner.start(JettySolrRunner.java:394)
>    [junit4]   2>      at 
> org.apache.solr.client.solrj.embedded.JettySolrRunner.start(JettySolrRunner.java:367)
>    [junit4]   2>      at 
> org.apache.solr.cloud.MiniSolrCloudCluster.startJettySolrRunner(MiniSolrCloudCluster.java:382)
>    [junit4]   2>      at 
> org.apache.solr.cloud.MiniSolrCloudCluster.lambda$new$0(MiniSolrCloudCluster.java:245)
>    [junit4]   2>      at 
> java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>    [junit4]   2>      at 
> org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:188)
>    [junit4]   2>      at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1161)
>    [junit4]   2>      at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>    [junit4]   2>      at java.base/java.lang.Thread.run(Thread.java:844)
>    [junit4]   2> Caused by: java.lang.StringIndexOutOfBoundsException: begin 
> 0, end 3, length 1
>    [junit4]   2>      at 
> java.base/java.lang.String.checkBoundsBeginEnd(String.java:3116)
>    [junit4]   2>      at 
> java.base/java.lang.String.substring(String.java:1885)
>    [junit4]   2>      at org.apache.hadoop.util.Shell.<clinit>(Shell.java:51)
>    [junit4]   2>      ... 36 more
>    [junit4]   2> 
> {noformat}
> This means we can for now only disable all tests using Hadoop, if Java 9 is 
> detected.
> On Policeman Jenkins the HDFS integration is already disabled, but there are 
> 2 more tests that fail:
> - org.apache.solr.security.hadoop.TestDelegationWithHadoopAuth
> - org.apache.solr.cloud.TestSolrCloudWithDelegationTokens
> I will add an assumeFalse for a while, until Hadoop fixed the issue.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to