You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Ivan Andika (Jira)" <ji...@apache.org> on 2024/04/03 03:25:00 UTC

[jira] [Comment Edited] (HDDS-10390) MiniOzoneCluster to support S3G

    [ 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:24 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:///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.


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.

> 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: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org