Already did :)

Just disabled by default atm.

> On 20 Dec 2018, at 12:26, Jonathan Gallimore <[email protected]> 
> wrote:
> 
> I'm tempted to agree, but I'm sitting on the fence a little. If we did do
> this, we should add a microprofile execution to the arquillian tests so we
> can iron the issues out.
> 
> Jon
> 
> On Thu, Dec 20, 2018 at 11:14 AM 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