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

Ivan Andika edited comment on HDDS-10390 at 4/3/24 3:45 AM:
------------------------------------------------------------

Hi [~duongnguyen] , I have already set up the skeleton code for the integration 
testing for [https://github.com/ivandika3/ozone/tree/S3G-INTEGRATION-TEST] 

However, the S3G seems to encounter some Weld issue which causes the S3G to not 
be able to start. 
{code:java}
2024-04-03 10:47:44,092 [main] WARN  webapp.WebAppContext 
(WebAppContext.java:doStart(533)) - Failed startup of context 
o.e.j.w.WebAppContext@50e24ea4{s3gateway,/,file:///<redacted>/ozone/hadoop-ozone/s3gateway/target/classes/webapps/s3gateway/,UNAVAILABLE}{file:/<redacted>/ozone/hadoop-ozone/s3gateway/target/classes/webapps/s3gateway}org.jboss.weld.exceptions.DefinitionException:
 Exception List with 1 exceptions:Exception 0 :java.lang.RuntimeException: 
javax.naming.NoInitialContextException: Need to specify class name in 
environment or system property, or in an application resource file: 
java.naming.factory.initial at 
com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:260)   
     at 
com.sun.jersey.server.impl.cdi.CDIExtension.beforeBeanDiscovery(CDIExtension.java:318)
       at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:566)   at 
org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
       at 
org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:187)
      at 
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)  
     at 
org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:123)
     at 
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)  
     at 
org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)  at 
javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)   at 
org.jboss.weld.util.Observers.notify(Observers.java:166)     at 
org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
 at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)     
 at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:177)  
 at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:171)  
 at 
org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
  at 
org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:44)
      at 
org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:54)
        at 
org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:412)  
     at 
org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:79)
    at 
org.jboss.weld.environment.servlet.WeldServletLifecycle.initialize(WeldServletLifecycle.java:185)
    at 
org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:120)
    at 
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073)
     at 
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
       at 
org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002)
 at 
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:765) 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.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.hdds.server.http.HttpServer2.start(HttpServer2.java:1184)  at 
org.apache.hadoop.hdds.server.http.BaseHttpServer.start(BaseHttpServer.java:322)
     at org.apache.hadoop.ozone.s3.Gateway.start(Gateway.java:105)   at 
org.apache.hadoop.ozone.s3.Gateway.call(Gateway.java:84)     at 
org.apache.hadoop.ozone.s3.Gateway.call(Gateway.java:53)     at 
picocli.CommandLine.executeUserObject(CommandLine.java:2041) at 
picocli.CommandLine.access$1500(CommandLine.java:148)        at 
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
   at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)    at 
picocli.CommandLine$RunLast.handle(CommandLine.java:2415)    at 
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)   
     at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)   at 
picocli.CommandLine.execute(CommandLine.java:2170)   at 
org.apache.hadoop.hdds.cli.GenericCli.execute(GenericCli.java:100)   at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.createS3G(MiniOzoneClusterImpl.java:848)
        at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.build(MiniOzoneClusterImpl.java:646)
    at 
org.apache.hadoop.ozone.s3g.TestBasicS3SDKAbstract.startCluster(TestBasicS3SDKAbstract.java:103)
     at org.apache.hadoop.ozone.s3g.TestBasicS3SDK.init(TestBasicS3SDK.java:37) 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)       at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:566)   at 
org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
       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:156)
     at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
      at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeAllMethod(TimeoutExtension.java:70)
       at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
     at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
      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.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
       at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllMethods$13(ClassBasedTestDescriptor.java:412)
     at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods(ClassBasedTestDescriptor.java:410)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:216)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:85)
        at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
       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:1541)   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:198)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93)
    at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141)
    at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57)
    at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
   at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
    at 
org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
      at 
org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:63)
        at 
com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71)
   at 
com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) 
     at 
com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)  at 
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at 
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
     at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: 
javax.naming.NoInitialContextException: Need to specify class name in 
environment or system property, or in an application resource file: 
java.naming.factory.initial        at 
java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:702)
 at 
java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
   at 
java.naming/javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:342)
      at 
java.naming/javax.naming.InitialContext.getNameParser(InitialContext.java:497)  
     at 
com.sun.jersey.server.impl.cdi.CDIExtension.diveIntoJNDIContext(CDIExtension.java:285)
       at 
com.sun.jersey.server.impl.cdi.CDIExtension.createJerseyConfigJNDIContext(CDIExtension.java:294)
     at 
com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:256)   
     ... 123 more
        at 
org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:46)
      at 
org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:54)
        at 
org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:412)  
     at 
org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:79)
    at 
org.jboss.weld.environment.servlet.WeldServletLifecycle.initialize(WeldServletLifecycle.java:185)
    at 
org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:120)
    at 
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073)
     at 
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
       at 
org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002)
 at 
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:765) 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.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.hdds.server.http.HttpServer2.start(HttpServer2.java:1184)  at 
org.apache.hadoop.hdds.server.http.BaseHttpServer.start(BaseHttpServer.java:322)
     at org.apache.hadoop.ozone.s3.Gateway.start(Gateway.java:105)   at 
org.apache.hadoop.ozone.s3.Gateway.call(Gateway.java:84)     at 
org.apache.hadoop.ozone.s3.Gateway.call(Gateway.java:53)     at 
picocli.CommandLine.executeUserObject(CommandLine.java:2041) at 
picocli.CommandLine.access$1500(CommandLine.java:148)        at 
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
   at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)    at 
picocli.CommandLine$RunLast.handle(CommandLine.java:2415)    at 
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)   
     at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)   at 
picocli.CommandLine.execute(CommandLine.java:2170)   at 
org.apache.hadoop.hdds.cli.GenericCli.execute(GenericCli.java:100)   at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.createS3G(MiniOzoneClusterImpl.java:848)
        at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.build(MiniOzoneClusterImpl.java:646)
    at 
org.apache.hadoop.ozone.s3g.TestBasicS3SDKAbstract.startCluster(TestBasicS3SDKAbstract.java:103)
     at org.apache.hadoop.ozone.s3g.TestBasicS3SDK.init(TestBasicS3SDK.java:37) 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)       at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:566)   at 
org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
       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:156)
     at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
      at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeAllMethod(TimeoutExtension.java:70)
       at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
     at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
      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.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
       at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllMethods$13(ClassBasedTestDescriptor.java:412)
     at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods(ClassBasedTestDescriptor.java:410)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:216)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:85)
        at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
       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:1541)   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:198)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93)
    at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141)
    at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57)
    at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
   at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
    at 
org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
      at 
org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:63)
        at 
com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71)
   at 
com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) 
     at 
com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)  at 
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at 
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
     at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)        
Suppressed: java.lang.RuntimeException: javax.naming.NoInitialContextException: 
Need to specify class name in environment or system property, or in an 
application resource file: java.naming.factory.initial           at 
com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:260)   
             at 
com.sun.jersey.server.impl.cdi.CDIExtension.beforeBeanDiscovery(CDIExtension.java:318)
               at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
             at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
             at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
             at java.base/java.lang.reflect.Method.invoke(Method.java:566)      
     at 
org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
               at 
org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:187)
              at 
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)  
             at 
org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:123)
             at 
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)  
             at 
org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)     
     at 
javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)      
     at org.jboss.weld.util.Observers.notify(Observers.java:166)             at 
org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
         at 
org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)         
     at 
org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:177)      
     at 
org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:171)      
     at 
org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
          at 
org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:44)
              ... 104 more    Caused by: 
javax.naming.NoInitialContextException: Need to specify class name in 
environment or system property, or in an application resource file: 
java.naming.factory.initial                at 
java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:702)
         at 
java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
           at 
java.naming/javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:342)
              at 
java.naming/javax.naming.InitialContext.getNameParser(InitialContext.java:497)  
             at 
com.sun.jersey.server.impl.cdi.CDIExtension.diveIntoJNDIContext(CDIExtension.java:285)
               at 
com.sun.jersey.server.impl.cdi.CDIExtension.createJerseyConfigJNDIContext(CDIExtension.java:294)
             at 
com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:256)   
             ... 123 more {code}
I tried to add {{{}System.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.naming.java.javaURLContextFactory"){}}}, but does not seem to work. 
 

However, S3G was able to be started normally using Intellij 
([https://cwiki.apache.org/confluence/display/OZONE/Run+Ozone+cluster+from+IDE).]

Not really familiar with Weld and JNDI stuff. Any advise is greatly appreciated.

Edit: Maybe have to do with web.xml not being loaded properly.


was (Author: JIRAUSER298977):
Hi [~duongnguyen] , I have already set up the skeleton code for the integration 
testing for [https://github.com/ivandika3/ozone/tree/S3G-INTEGRATION-TEST] 

However, the S3G seems to encounter some Weld issue which causes the S3G to not 
be able to start. 
{code:java}
2024-04-03 10:47:44,092 [main] WARN  webapp.WebAppContext 
(WebAppContext.java:doStart(533)) - Failed startup of context 
o.e.j.w.WebAppContext@50e24ea4{s3gateway,/,file:///Users/ivan.andika/Desktop/Shopee/storage/ozone/hadoop-ozone/s3gateway/target/classes/webapps/s3gateway/,UNAVAILABLE}{file:/Users/ivan.andika/Desktop/Shopee/storage/ozone/hadoop-ozone/s3gateway/target/classes/webapps/s3gateway}org.jboss.weld.exceptions.DefinitionException:
 Exception List with 1 exceptions:Exception 0 :java.lang.RuntimeException: 
javax.naming.NoInitialContextException: Need to specify class name in 
environment or system property, or in an application resource file: 
java.naming.factory.initial     at 
com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:260)   
     at 
com.sun.jersey.server.impl.cdi.CDIExtension.beforeBeanDiscovery(CDIExtension.java:318)
       at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
     at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:566)   at 
org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
       at 
org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:187)
      at 
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)  
     at 
org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:123)
     at 
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)  
     at 
org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)  at 
javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)   at 
org.jboss.weld.util.Observers.notify(Observers.java:166)     at 
org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
 at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)     
 at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:177)  
 at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:171)  
 at 
org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
  at 
org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:44)
      at 
org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:54)
        at 
org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:412)  
     at 
org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:79)
    at 
org.jboss.weld.environment.servlet.WeldServletLifecycle.initialize(WeldServletLifecycle.java:185)
    at 
org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:120)
    at 
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073)
     at 
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
       at 
org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002)
 at 
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:765) 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.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.hdds.server.http.HttpServer2.start(HttpServer2.java:1184)  at 
org.apache.hadoop.hdds.server.http.BaseHttpServer.start(BaseHttpServer.java:322)
     at org.apache.hadoop.ozone.s3.Gateway.start(Gateway.java:105)   at 
org.apache.hadoop.ozone.s3.Gateway.call(Gateway.java:84)     at 
org.apache.hadoop.ozone.s3.Gateway.call(Gateway.java:53)     at 
picocli.CommandLine.executeUserObject(CommandLine.java:2041) at 
picocli.CommandLine.access$1500(CommandLine.java:148)        at 
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
   at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)    at 
picocli.CommandLine$RunLast.handle(CommandLine.java:2415)    at 
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)   
     at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)   at 
picocli.CommandLine.execute(CommandLine.java:2170)   at 
org.apache.hadoop.hdds.cli.GenericCli.execute(GenericCli.java:100)   at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.createS3G(MiniOzoneClusterImpl.java:848)
        at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.build(MiniOzoneClusterImpl.java:646)
    at 
org.apache.hadoop.ozone.s3g.TestBasicS3SDKAbstract.startCluster(TestBasicS3SDKAbstract.java:103)
     at org.apache.hadoop.ozone.s3g.TestBasicS3SDK.init(TestBasicS3SDK.java:37) 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)       at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:566)   at 
org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
       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:156)
     at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
      at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeAllMethod(TimeoutExtension.java:70)
       at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
     at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
      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.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
       at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllMethods$13(ClassBasedTestDescriptor.java:412)
     at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods(ClassBasedTestDescriptor.java:410)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:216)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:85)
        at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
       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:1541)   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:198)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93)
    at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141)
    at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57)
    at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
   at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
    at 
org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
      at 
org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:63)
        at 
com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71)
   at 
com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) 
     at 
com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)  at 
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at 
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
     at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: 
javax.naming.NoInitialContextException: Need to specify class name in 
environment or system property, or in an application resource file: 
java.naming.factory.initial        at 
java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:702)
 at 
java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
   at 
java.naming/javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:342)
      at 
java.naming/javax.naming.InitialContext.getNameParser(InitialContext.java:497)  
     at 
com.sun.jersey.server.impl.cdi.CDIExtension.diveIntoJNDIContext(CDIExtension.java:285)
       at 
com.sun.jersey.server.impl.cdi.CDIExtension.createJerseyConfigJNDIContext(CDIExtension.java:294)
     at 
com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:256)   
     ... 123 more
        at 
org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:46)
      at 
org.jboss.weld.bootstrap.events.BeforeBeanDiscoveryImpl.fire(BeforeBeanDiscoveryImpl.java:54)
        at 
org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:412)  
     at 
org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:79)
    at 
org.jboss.weld.environment.servlet.WeldServletLifecycle.initialize(WeldServletLifecycle.java:185)
    at 
org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:120)
    at 
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1073)
     at 
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
       at 
org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:1002)
 at 
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:765) 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.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.hdds.server.http.HttpServer2.start(HttpServer2.java:1184)  at 
org.apache.hadoop.hdds.server.http.BaseHttpServer.start(BaseHttpServer.java:322)
     at org.apache.hadoop.ozone.s3.Gateway.start(Gateway.java:105)   at 
org.apache.hadoop.ozone.s3.Gateway.call(Gateway.java:84)     at 
org.apache.hadoop.ozone.s3.Gateway.call(Gateway.java:53)     at 
picocli.CommandLine.executeUserObject(CommandLine.java:2041) at 
picocli.CommandLine.access$1500(CommandLine.java:148)        at 
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
   at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)    at 
picocli.CommandLine$RunLast.handle(CommandLine.java:2415)    at 
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)   
     at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)   at 
picocli.CommandLine.execute(CommandLine.java:2170)   at 
org.apache.hadoop.hdds.cli.GenericCli.execute(GenericCli.java:100)   at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.createS3G(MiniOzoneClusterImpl.java:848)
        at 
org.apache.hadoop.ozone.MiniOzoneClusterImpl$Builder.build(MiniOzoneClusterImpl.java:646)
    at 
org.apache.hadoop.ozone.s3g.TestBasicS3SDKAbstract.startCluster(TestBasicS3SDKAbstract.java:103)
     at org.apache.hadoop.ozone.s3g.TestBasicS3SDK.init(TestBasicS3SDK.java:37) 
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)       at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:566)   at 
org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
       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:156)
     at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptLifecycleMethod(TimeoutExtension.java:128)
      at 
org.junit.jupiter.engine.extension.TimeoutExtension.interceptBeforeAllMethod(TimeoutExtension.java:70)
       at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
     at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
      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.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
       at 
org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeBeforeAllMethods$13(ClassBasedTestDescriptor.java:412)
     at 
org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
        at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods(ClassBasedTestDescriptor.java:410)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:216)
       at 
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before(ClassBasedTestDescriptor.java:85)
        at 
org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:148)
       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:1541)   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:198)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:169)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:93)
    at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:58)
   at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:141)
    at 
org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:57)
    at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:103)
   at 
org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:85)
    at 
org.junit.platform.launcher.core.DelegatingLauncher.execute(DelegatingLauncher.java:47)
      at 
org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:63)
        at 
com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71)
   at 
com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) 
     at 
com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)  at 
com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
    at 
com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
     at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)        
Suppressed: java.lang.RuntimeException: javax.naming.NoInitialContextException: 
Need to specify class name in environment or system property, or in an 
application resource file: java.naming.factory.initial           at 
com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:260)   
             at 
com.sun.jersey.server.impl.cdi.CDIExtension.beforeBeanDiscovery(CDIExtension.java:318)
               at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
             at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
             at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
             at java.base/java.lang.reflect.Method.invoke(Method.java:566)      
     at 
org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
               at 
org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:187)
              at 
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)  
             at 
org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:123)
             at 
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)  
             at 
org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)     
     at 
javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)      
     at org.jboss.weld.util.Observers.notify(Observers.java:166)             at 
org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
         at 
org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)         
     at 
org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:177)      
     at 
org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:171)      
     at 
org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
          at 
org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:44)
              ... 104 more    Caused by: 
javax.naming.NoInitialContextException: Need to specify class name in 
environment or system property, or in an application resource file: 
java.naming.factory.initial                at 
java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:702)
         at 
java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
           at 
java.naming/javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:342)
              at 
java.naming/javax.naming.InitialContext.getNameParser(InitialContext.java:497)  
             at 
com.sun.jersey.server.impl.cdi.CDIExtension.diveIntoJNDIContext(CDIExtension.java:285)
               at 
com.sun.jersey.server.impl.cdi.CDIExtension.createJerseyConfigJNDIContext(CDIExtension.java:294)
             at 
com.sun.jersey.server.impl.cdi.CDIExtension.initialize(CDIExtension.java:256)   
             ... 123 more {code}
I tried to add {{{}System.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
"org.apache.naming.java.javaURLContextFactory"){}}}, but does not seem to work. 
 

However, S3G was able to be started normally using Intellij 
([https://cwiki.apache.org/confluence/display/OZONE/Run+Ozone+cluster+from+IDE).]

Not really familiar with Weld and JNDI stuff. Any advise is greatly appreciated.

Edit: Maybe have to do with web.xml not being loaded properly.

> MiniOzoneCluster to support S3G
> -------------------------------
>
>                 Key: HDDS-10390
>                 URL: https://issues.apache.org/jira/browse/HDDS-10390
>             Project: Apache Ozone
>          Issue Type: Improvement
>            Reporter: Duong
>            Assignee: Ivan Andika
>            Priority: Major
>              Labels: S3
>
> MiniOzoneCluster should support creating S3G instances and provide access to 
> S3G via an AWS S3 client (AWS Java SDK).
> This will make it a lot easier to test and debug issues in S3G.



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

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

Reply via email to