For the moment, I’ve created this main task to report issues found with the integration: https://jira.apache.org/jira/browse/TOMEE-2407 <https://jira.apache.org/jira/browse/TOMEE-2407>
Report any issue you find as a subtask. > On 20 Dec 2018, at 11:14, Bruno Baptista <[email protected]> wrote: > > Hi, > > It makes sense to remove MP support from Plume and Plus while these issues > are cleared. > > We should probably create a branch to fix those issues. > > Cheers. > > Bruno Baptista > https://twitter.com/brunobat_ > > > On 20/12/18 10:44, Roberto Cortez wrote: >> Hey Ivan, >> >> Thank you. >> >> What TomEE and the Geronimo implementation actually do is to expose all of >> these endpoints in the application context path being deployed. So for >> instance if you have: >> >> app.war, you get: >> - app/health >> - app/metrics >> - app/openapi >> >> movies.war, you get: >> - movies/health >> - movies/metrics >> - movies/openapi >> >> The issue here, is that these endpoints get deployed with any Web >> application. So if you have a web app with simple Servlet, you also get >> these endpoints deployed with the app. This causes issues if the Servlet is >> mapped to /*, because the REST service will override the base context path. >> Again, to be able to expose the MP endpoints on the base app context root. >> >> I’m thinking that we may need to be more smart about this and not just >> blindly expose or start MP behaviour without some additional checks. Things >> like: >> - Expose the specific MP REST endpoints if the app has other REST services. >> - Expose the specific MP REST endpoints if using specific MP annotation on >> the app (like @Metric that just need a CDI bean) >> - Don’t any Filters if (for JWT and OpenTracing) if these are not in use. >> >> These are just some that came to my mind, but probably there are other >> cases. I’ll probably suggest to remove MP support for Plume and Plus and add >> the MP binary to TomEE TCK tests, disabled but with the ability for us to >> run them, so we can start making adjustments. There are also issues with EAR >> deployments and MP. >> >> Any thoughts? >> >> Cheers, >> Roberto >> >>> On 20 Dec 2018, at 07:08, Ivan St. Ivanov <[email protected]> wrote: >>> >>> Hi everyone, >>> >>> TL; DR; the mentioned paths seem to be context roots, not subpaths. >>> >>> Let me chime in on the topic of MP spec paths. >>> >>> - The Health check spec in Appendix A states that /health is a context >>> [path]. Which means that it is directly after the host, i.e. >>> http://localhost:8080/health >>> - The Metrics spec calls /metrics "base path" (not as specific as Health >>> check calling it *context path*) >>> - The Open API spec in its section 5.1 gives an example with /openapi >>> being a context path too >>> >>> I remember a discussion in the MP mailing lists a few months ago, where >>> someone questioned the fact that MP specs should not be considered just for >>> microservices, where you have one context only. But also in classical app >>> server scenarios with multiple applications per server. In that sense, the >>> person starting the discussion asked for application specific health and >>> metrics endpoints rather then app server specific. >>> >>> Cheers, >>> Ivan >>> >>> On Thu, Dec 20, 2018 at 2:08 AM Roberto Cortez <[email protected]> >>> wrote: >>> >>>> As far as I know, all their endpoints are on a subpath, but since a CXF >>>> Rest Service needs to be created to expose these paths (/health, /openapi, >>>> /metrics), I think that somehow the deployment service creates service and >>>> overrides the "/". >>>> >>>> I will try to see what can be done in that regard. I was thinking that at >>>> the very least, one thing we could do (not sure if possible) is to check if >>>> we have other REST endpoints in the app, and if not, complete skip the >>>> additional MP endpoints deployment. >>>> >>>>> On 19 Dec 2018, at 20:31, Jonathan Gallimore < >>>> [email protected]> wrote: >>>>>> How did you got that NPE? I had to debug it and get it from a catch >>>>> clause, because it was not showing up in the logs. >>>>> >>>>> Right. For the benefit of others reading this, I ran the test with >>>>> -Dopenejb.server.debug, and put a breakpoint here: >>>>> >>>> https://github.com/apache/tomcat/blob/TOMCAT_9_0_12/java/org/apache/catalina/core/StandardContext.java#L4494 >>>> . >>>>> and then did a t.printStackTrace(). The output from the server does end >>>> up >>>>> in target/surefire-reports/dumpStream*. >>>>> >>>>>> It seems that when you are deploying a simple servlet in a MP enabled >>>>> container using the /* as the url pattern, this will get overridden when >>>> MP >>>>> starts up and adds the endpoints to consume openapi, metrics, health, so >>>>> the servlet call ends up in a 404. >>>>> >>>>> Yeah. That's what I was trying to say in my first message, but my coffee >>>>> hadn't kicked in at that point. You phrased it way better. >>>>> >>>>> I think we have two issues - 1 is the URL pattern being taken over my MP, >>>>> and 2 is certain things not being wired up for whatever reason e.g. the >>>>> OpenTracing filter. >>>>> >>>>> Does MicroProfile have to have its endpoints directly off "/", or can >>>> there >>>>> be a sub path? >>>>> >>>>> Jon >>>>> >>>>> On Wed, Dec 19, 2018 at 6:38 PM Roberto Cortez >>>> <[email protected]> >>>>> wrote: >>>>> >>>>>> Ok, I think I got more info. >>>>>> >>>>>> It seems that when you are deploying a simple servlet in a MP enabled >>>>>> container using the /* as the url pattern, this will get overridden >>>> when MP >>>>>> starts up and adds the endpoints to consume openapi, metrics, health, so >>>>>> the servlet call ends up in a 404. >>>>>> >>>>>>> On 19 Dec 2018, at 18:27, Roberto Cortez <[email protected]> >>>>>> wrote: >>>>>>> Ah never mind. Forgot this is running in forked mode. >>>>>>> >>>>>>>> On 19 Dec 2018, at 18:18, Roberto Cortez <[email protected] >>>>>> wrote: >>>>>>>> I’m not completely sure if that library is the only problem. We may >>>>>> need to remove it all together. For now, I’m just trying to figure out >>>> the >>>>>> test failures. For some reason, they are not very descriptive on what >>>>>> failed. >>>>>>>> How did you got that NPE? I had to debug it and get it from a catch >>>>>> clause, because it was not showing up in the logs. >>>>>>>>> On 19 Dec 2018, at 17:29, Jonathan Gallimore < >>>>>> [email protected]> wrote: >>>>>>>>> Interesting. Not sure what the best way is forward at the moment... >>>>>>>>> thoughts appreciated. If I have a brainwave, I'll post here. >>>> Currently >>>>>> I'm >>>>>>>>> wondering if we can just remove that library from TomEE for the tests >>>>>> until >>>>>>>>> we can figure it out. >>>>>>>>> >>>>>>>>> Jon >>>>>>>>> >>>>>>>>> On Wed, Dec 19, 2018 at 4:12 PM Roberto Cortez >>>>>> <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> It seems that there is no single issue that you can use to fix all >>>> the >>>>>>>>>> tests. Adding MP apparently affected all tests in different ways. >>>>>>>>>> >>>>>>>>>> For instance AllFilterTest (the one I started looking), was not >>>>>> starting >>>>>>>>>> any CDI Extensions. Then I figure out that the web.xml had a >>>>>> metadacomplete >>>>>>>>>> = true that makes the container to not scan the libs folder. >>>> Removing >>>>>> that >>>>>>>>>> line made it work. >>>>>>>>>> >>>>>>>>>> AppComposerTest for some reason it seems is not able to inject a CDI >>>>>> bean. >>>>>>>>>> This seems to be more tricky, since it is deploying an >>>>>> ApplicationComposer >>>>>>>>>> and you list the CDI beans explicitly on the test. >>>>>>>>>> >>>>>>>>>> In the end, the sources may be different but the cause seems to be >>>>>> always >>>>>>>>>> related with the init of the OpenTracing filter. There is a config >>>> to >>>>>>>>>> disable it, but I’m not sure if that is the best approach. Maybe the >>>>>>>>>> initialiser should be more clever and not blindly add the Filter >>>>>> without >>>>>>>>>> checking in everything in the environment is set up >>>>>>>>>> >>>>>>>>>> I’ll keep investigating to have more details. >>>>>>>>>> >>>>>>>>>>> On 19 Dec 2018, at 15:19, Roberto Cortez >>>> <[email protected] >>>>>>>>>> wrote: >>>>>>>>>>> Yes. That is because the CDI Extension is not executing. I’m trying >>>>>> to >>>>>>>>>> figure out why. >>>>>>>>>>>> On 19 Dec 2018, at 14:45, Jonathan Gallimore < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> If it helps, here's the exception I'm getting, which is causing >>>> the >>>>>> app >>>>>>>>>> to >>>>>>>>>>>> fail to deploy: >>>>>>>>>>>> >>>>>>>>>>>> java.lang.NullPointerException >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.geronimo.microprofile.opentracing.microprofile.server.OpenTracingFilter.init(OpenTracingFilter.java:57) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:270) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:251) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:102) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4491) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135) >>>>>>>>>>>> at >>>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) >>>>>>>>>>>> at >>>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) >>>>>>>>>>>> at >>>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar(TomcatWebAppBuilder.java:658) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps(TomcatWebAppBuilder.java:598) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy(TomcatWebappDeployer.java:47) >>>>>>>>>>>> at >>>>>> org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:177) >>>>>>>>>>>> at >>>>>> org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:140) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:191) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:102) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.singleton.SingletonContainer._invoke(SingletonContainer.java:272) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.singleton.SingletonContainer.invoke(SingletonContainer.java:221) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:371) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:182) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:360) >>>>>>>>>>>> at >>>>>> org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:247) >>>>>>>>>>>> at >>>>>> org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:104) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:60) >>>>>>>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) >>>>>>>>>>>> at >>>>>> org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:770) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.tomcat.util.net >>>>>>>>>> .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.tomcat.util.net >>>>>>>>>> .SocketProcessorBase.run(SocketProcessorBase.java:49) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) >>>>>>>>>>>> at java.lang.Thread.run(Thread.java:748) >>>>>>>>>>>> java.lang.NullPointerException >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.geronimo.microprofile.opentracing.microprofile.server.OpenTracingFilter.init(OpenTracingFilter.java:57) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:270) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:251) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:102) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4491) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135) >>>>>>>>>>>> at >>>>>> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743) >>>>>>>>>>>> at >>>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719) >>>>>>>>>>>> at >>>>>> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:703) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar(TomcatWebAppBuilder.java:658) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps(TomcatWebAppBuilder.java:598) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy(TomcatWebappDeployer.java:47) >>>>>>>>>>>> at >>>>>> org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:177) >>>>>>>>>>>> at >>>>>> org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:140) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:191) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:102) >>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>>>>>>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.singleton.SingletonContainer._invoke(SingletonContainer.java:272) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.core.singleton.SingletonContainer.invoke(SingletonContainer.java:221) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:371) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:182) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:360) >>>>>>>>>>>> at >>>>>> org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:247) >>>>>>>>>>>> at >>>>>> org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:104) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:60) >>>>>>>>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) >>>>>>>>>>>> at >>>>>> org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:770) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.tomcat.util.net >>>>>>>>>> .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415) >>>>>>>>>>>> at >>>>>>>>>>>> org.apache.tomcat.util.net >>>>>>>>>> .SocketProcessorBase.run(SocketProcessorBase.java:49) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >>>>>>>>>>>> at >>>>>>>>>>>> >>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) >>>>>>>>>>>> at java.lang.Thread.run(Thread.java:748) >>>>>>>>>>>> >>>>>>>>>>>> On Wed, Dec 19, 2018 at 2:33 PM Roberto Cortez >>>>>>>>>> <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> It seems that the CDI Extensions are not running. I first thought >>>>>> that >>>>>>>>>> it >>>>>>>>>>>>> was because of this setting: openejb.cdi.activated-on-ejb, but it >>>>>>>>>> seems to >>>>>>>>>>>>> have the same effect. >>>>>>>>>>>>> >>>>>>>>>>>>> I’ll keep looking. >>>>>>>>>>>>> >>>>>>>>>>>>>> On 19 Dec 2018, at 13:21, Jonathan Gallimore < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> I see the issue with surefire:test@test-tomee-remote-plus too. >>>>>>>>>> Trying to >>>>>>>>>>>>>> get some more information. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Jon >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Wed, Dec 19, 2018 at 12:39 PM Jonathan Gallimore < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Here's my full output: >>>>>>>>>>>>>>> >>>>>> https://gist.github.com/jgallimore/ead9d0a218d862596858d7dc72bd6f62 >>>>>>>>>>>>>>> There's a few failures for test-tomee-remote-plus, and it gets >>>>>> worse >>>>>>>>>>>>> when >>>>>>>>>>>>>>> testing test-tomee-webapp-* executions. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hope that helps. Neat trick with the command line >>>>>>>>>>>>> @test-tomee-remote-plume >>>>>>>>>>>>>>> - thanks for that. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Jon >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Wed, Dec 19, 2018 at 12:15 PM Roberto Cortez >>>>>>>>>>>>>>> <[email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I’m using this sample command now: >>>>>>>>>>>>>>>> mvn -Pall-adapters clean test-compile >>>>>>>>>>>>>>>> surefire:test@test-tomee-remote-plume >>>>>>>>>>>>>>>> >>>> -Dtest=org.apache.openejb.arquillian.tests.filter.AllFilterTest >>>>>>>>>>>>>>>> It seems to run fine on plus but not on plume. >>>> Investigating... >>>>>>>>>>>>>>>>> On 19 Dec 2018, at 11:44, Roberto Cortez >>>>>>>>>> <[email protected] >>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>> Maybe it does run first. The problem is that the build is >>>>>> killed, >>>>>>>>>> so >>>>>>>>>>>>>>>> you don’t have a test report output. You have to go and >>>> manually >>>>>>>>>>>>> search the >>>>>>>>>>>>>>>> logs. >>>>>>>>>>>>>>>>> What is the exact test you see failing? I see a failure in >>>> the >>>>>> JMS >>>>>>>>>>>>>>>> project with a simple clean install: >>>>>>>>>>>>>>>>> JMSInjectionTest.testJMSInjection:68->validateTest:74 » IO >>>>>> Server >>>>>>>>>>>>>>>> returned HTT >>>>>>>>>>>>>>>>>> On 19 Dec 2018, at 11:18, Jonathan Gallimore < >>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>> I'm not sure of the module ordering, but I thought this ran >>>>>> first. >>>>>>>>>>>>> I'll >>>>>>>>>>>>>>>>>> check the CI output. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> If you run a build without tests, and then run `mvn >>>>>> -Pall-adapters >>>>>>>>>>>>>>>> clean >>>>>>>>>>>>>>>>>> install` >>>>>>>>>>>>>>>>>> in >>>>>> arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests, >>>>>>>>>>>>>>>>>> you'll see the issue. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Jon >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Wed, Dec 19, 2018 at 11:00 AM Roberto Cortez >>>>>>>>>>>>>>>> <[email protected]> >>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi Jon, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I can have a look. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> It’s been hard to figure issues out, since we were not able >>>>>> to >>>>>>>>>>>>>>>> stabilize >>>>>>>>>>>>>>>>>>> the TomEE build in build bot. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Apparently, it just keeps getting stuck in CDI TCK and >>>>>> timeouts. >>>>>>>>>>>>>>>>>>> Cheers, >>>>>>>>>>>>>>>>>>> Roberto >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On 19 Dec 2018, at 10:28, Jonathan Gallimore < >>>>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>>>> I'm not sure if this is being discussed on other threads, >>>>>> but it >>>>>>>>>>>>>>>> looks >>>>>>>>>>>>>>>>>>> like >>>>>>>>>>>>>>>>>>>> we have an issue with our arquillian tests failing. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> I did a git bisect late last night, and it looks like it >>>> was >>>>>>>>>>>>>>>> introduced >>>>>>>>>>>>>>>>>>>> with the addition of microprofile to the plume and plus >>>>>>>>>>>>>>>> distributions. >>>>>>>>>>>>>>>>>>> I'm >>>>>>>>>>>>>>>>>>>> still going through my build output, but it looks like we >>>>>> have a >>>>>>>>>>>>>>>> couple >>>>>>>>>>>>>>>>>>> of >>>>>>>>>>>>>>>>>>>> issues. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Firstly, it looks like something in microprofile adds >>>>>> JAX-RS to >>>>>>>>>> the >>>>>>>>>>>>>>>> app, >>>>>>>>>>>>>>>>>>>> and that seems to get priority over everything, so, for >>>>>> example, >>>>>>>>>>>>> if I >>>>>>>>>>>>>>>>>>>> deploy a servlet with a URL mapping of "/" I can't get to >>>>>> it - >>>>>>>>>> I'll >>>>>>>>>>>>>>>>>>> always >>>>>>>>>>>>>>>>>>>> get a 404. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> There seems to be another issue that prevents apps from >>>>>>>>>> deploying >>>>>>>>>>>>>>>> too. >>>>>>>>>>>>>>>>>>>> I'll continue analysis and post further details, but also >>>>>> don't >>>>>>>>>>>>> want >>>>>>>>>>>>>>>> to >>>>>>>>>>>>>>>>>>>> tread on toes, so if you're already looking at this, >>>> please >>>>>>>>>> shout! >>>>>>>>>>>>>>>>>>>> Cheers >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Jon >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>> >>>>>> >>>>
