I’m thinking that we can our own Extension that loads before the MP ones and 
control some of the loading like that. 

> On 20 Dec 2018, at 11:33, Roberto Cortez <[email protected]> wrote:
> 
> 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
>>>>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>> 
>>>>> 
> 

Reply via email to