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

ASF GitHub Bot commented on HADOOP-19674:
-----------------------------------------

stoty commented on code in PR #7928:
URL: https://github.com/apache/hadoop/pull/7928#discussion_r2322987219


##########
hadoop-client-modules/hadoop-client/pom.xml:
##########
@@ -53,6 +53,10 @@
           <groupId>org.eclipse.jetty</groupId>
           <artifactId>jetty-server</artifactId>
         </exclusion>
+        <exclusion>

Review Comment:
   These are for java 8, right ?



##########
hadoop-client-modules/hadoop-client/pom.xml:
##########
@@ -53,6 +53,10 @@
           <groupId>org.eclipse.jetty</groupId>
           <artifactId>jetty-server</artifactId>
         </exclusion>
+        <exclusion>

Review Comment:
   These are for java 8, right ?





> [JDK 17] Implementation of JAXB-API has not been found on module path or 
> classpath
> ----------------------------------------------------------------------------------
>
>                 Key: HADOOP-19674
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19674
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: hadoop-common
>    Affects Versions: 3.5.0
>            Reporter: Bence Kosztolnik
>            Assignee: Bence Kosztolnik
>            Priority: Major
>              Labels: pull-request-available
>
> When i try to run the *org.apache.hadoop.yarn.webapp.TestWebApp* tests over 
> JDK17 i am facing the following errors:
> {noformat}
> Caused by: A MultiException has 2 exceptions.  They are:
> 1. javax.xml.bind.JAXBException: Implementation of JAXB-API has not been 
> found on module path or classpath.
> 2. java.lang.IllegalStateException: Unable to perform operation: create on 
> org.apache.hadoop.yarn.webapp.MyTestJAXBContextResolver
> {noformat}
> Repro steps:
> - run: ./start-build-env.sh ubuntu_24
> - in docker run: mvn clean install -Pjdk17+ -T 32 -DskipTests 
> - in hadoop-yarn-common modul run: mvn test 
> -Dtest=org.apache.hadoop.yarn.webapp.TestWebApp
> I found a similar error here:
> https://issues.apache.org/jira/browse/HDDS-5068
> Based on my understanding the problem is the JDK11+ environments does not 
> have the JAXB runtime, so we have to explicit provide them. Maybe this is 
> just a temporal solution, till the whole Jakarta upgrade can be done.
> {panel:title=Full error log}
> {code}
> [ERROR] testRobotsText  Time elapsed: 0.064 s  <<< ERROR!
> org.apache.hadoop.yarn.webapp.WebAppException: Error starting http server
>       at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:506)
>       at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:492)
>       at 
> org.apache.hadoop.yarn.webapp.TestWebApp.testRobotsText(TestWebApp.java:324)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>       at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:569)
>       at 
> org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)
>       at 
> org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
>       at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
>       at 
> org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
>       at 
> org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
>       at 
> org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
>       at 
> org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
>       at 
> org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
>       at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
>       at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
>       at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
>       at 
> org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
>       at 
> org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
>       at 
> org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
>       at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>       at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)
>       at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)
>       at 
> org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>       at 
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>       at 
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>       at 
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
>       at 
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
>       at 
> org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
>       at 
> org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
>       at 
> org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
>       at 
> org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
>       at 
> org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
>       at 
> org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
>       at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)
>       at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
>       at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
>       at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
>       at 
> org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
>       at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
>       at 
> org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
>       at 
> org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
>       at 
> org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
>       at 
> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:142)
>       at 
> org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:113)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
> Caused by: java.io.IOException: Unable to initialize WebAppContext
>       at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:1453)
>       at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:503)
>       ... 71 more
> Caused by: javax.servlet.ServletException: 
> org.glassfish.jersey.servlet.ServletContainer-640d604==org.glassfish.jersey.servlet.ServletContainer@f679d7ba{jsp=null,order=-1,inst=true,async=true,src=EMBEDDED:null,STARTED}
>       at 
> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:650)
>       at 
> org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:415)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:750)
>       at 
> java.base/java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:357)
>       at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:510)
>       at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
>       at 
> java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310)
>       at 
> java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735)
>       at 
> java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:774)
>       at 
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
>       at 
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
>       at 
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916)
>       at 
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
>       at 
> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
>       at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>       at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>       at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>       at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>       at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>       at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>       at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>       at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>       at 
> org.eclipse.jetty.server.handler.StatisticsHandler.doStart(StatisticsHandler.java:264)
>       at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>       at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>       at org.eclipse.jetty.server.Server.start(Server.java:423)
>       at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>       at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>       at org.eclipse.jetty.server.Server.doStart(Server.java:387)
>       at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>       at org.apache.hadoop.http.HttpServer2.start(HttpServer2.java:1416)
>       ... 72 more
> Caused by: A MultiException has 2 exceptions.  They are:
> 1. javax.xml.bind.JAXBException: Implementation of JAXB-API has not been 
> found on module path or classpath.
> 2. java.lang.IllegalStateException: Unable to perform operation: create on 
> org.apache.hadoop.yarn.webapp.MyTestJAXBContextResolver
>       at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:368)
>       at 
> org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:463)
>       at 
> org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:59)
>       at 
> org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:47)
>       at 
> org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture$1.call(Cache.java:74)
>       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>       at 
> org.glassfish.hk2.utilities.cache.Cache$OriginThreadAwareFuture.run(Cache.java:131)
>       at org.glassfish.hk2.utilities.cache.Cache.compute(Cache.java:176)
>       at 
> org.jvnet.hk2.internal.SingletonContext.findOrCreate(SingletonContext.java:98)
>       at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2102)
>       at 
> org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetAllServiceHandles(ServiceLocatorImpl.java:1481)
>       at 
> org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServices(ServiceLocatorImpl.java:799)
>       at 
> org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getAllInstances(AbstractHk2InjectionManager.java:171)
>       at 
> org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getAllInstances(ImmediateHk2InjectionManager.java:30)
>       at 
> org.glassfish.jersey.internal.ContextResolverFactory$ContextResolversConfigurator.postInit(ContextResolverFactory.java:69)
>       at 
> org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$2(ApplicationHandler.java:353)
>       at java.base/java.util.Arrays$ArrayList.forEach(Arrays.java:4204)
>       at 
> org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:353)
>       at 
> org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:297)
>       at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
>       at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
>       at 
> org.glassfish.jersey.internal.Errors.processWithException(Errors.java:232)
>       at 
> org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:296)
>       at 
> org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:261)
>       at 
> org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:314)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:154)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:360)
>       at javax.servlet.GenericServlet.init(GenericServlet.java:244)
>       at 
> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:632)
>       ... 104 more
> Caused by: javax.xml.bind.JAXBException: Implementation of JAXB-API has not 
> been found on module path or classpath.
>  - with linked exception:
> [java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
>       at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:232)
>       at javax.xml.bind.ContextFinder.find(ContextFinder.java:375)
>       at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:691)
>       at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:632)
>       at 
> org.glassfish.jersey.jettison.JettisonJaxbContext.<init>(JettisonJaxbContext.java:73)
>       at 
> org.glassfish.jersey.jettison.JettisonJaxbContext.<init>(JettisonJaxbContext.java:54)
>       at 
> org.apache.hadoop.yarn.webapp.MyTestJAXBContextResolver.<init>(MyTestJAXBContextResolver.java:45)
>       at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>  Method)
>       at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
>       at 
> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at 
> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
>       at 
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
>       at 
> org.glassfish.hk2.utilities.reflection.ReflectionHelper.makeMe(ReflectionHelper.java:1356)
>       at org.jvnet.hk2.internal.ClazzCreator.createMe(ClazzCreator.java:248)
>       at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:342)
>       ... 132 more
> Caused by: java.lang.ClassNotFoundException: 
> com.sun.xml.bind.v2.ContextFactory
>       at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
>       at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
>       at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
>       at 
> org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:538)
>       at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
>       at 
> javax.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:92)
>       at 
> javax.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:125)
>       at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:230)
>       ... 146 more
> {code}
> {panel}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to