awesome!!! you guys rock! here is a virtual hug :)

╰(*´︶`*)╯

My teammate said because Matt is in Orlando, we can give him a real hug! :)

thanks a lot, this was driving us crazy.

Boris

On Wed, May 23, 2018 at 9:56 AM, Matt Burgess <[email protected]> wrote:

> Boris,
>
> Bryan found the bug, we were setting the results object to null in one
> place instead of an empty collection. I've written up NIFI-5230 [1] to
> cover it, and issued a PR [2] to fix it.
>
> Regards,
> Matt
>
> [1] https://issues.apache.org/jira/browse/NIFI-5230
> [2] https://github.com/apache/nifi/pull/2734
>
> On Tue, May 22, 2018 at 5:00 PM, Boris Tyukin <[email protected]>
> wrote:
> > Hi Bryan,
> >
> > yes, here is the trace:
> >
> > 2018-05-22 16:00:49,339 WARN [NiFi Web Server-805]
> > o.a.n.controller.StandardProcessorNode Failed during validation
> > java.lang.NullPointerException: null
> >     at
> > org.apache.nifi.processors.script.InvokeScriptedProcessor.
> customValidate(InvokeScriptedProcessor.java:476)
> >     at
> > org.apache.nifi.components.AbstractConfigurableComponent.validate(
> AbstractConfigurableComponent.java:126)
> >     at
> > org.apache.nifi.controller.AbstractConfiguredComponent.validate(
> AbstractConfiguredComponent.java:363)
> >     at
> > org.apache.nifi.controller.StandardProcessorNode.isValid(
> StandardProcessorNode.java:995)
> >     at
> > org.apache.nifi.groups.StandardProcessGroup.getCounts(
> StandardProcessGroup.java:300)
> >     at
> > org.apache.nifi.groups.StandardProcessGroup.getCounts(
> StandardProcessGroup.java:334)
> >     at
> > org.apache.nifi.groups.StandardProcessGroup.getCounts(
> StandardProcessGroup.java:334)
> >     at
> > org.apache.nifi.web.controller.ControllerFacade.getControllerStatus(
> ControllerFacade.java:583)
> >     at
> > org.apache.nifi.web.controller.ControllerFacade$$
> FastClassBySpringCGLIB$$5a42ba54.invoke(<generated>)
> >     at
> > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
> >     at
> > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
> invokeJoinpoint(CglibAopProxy.java:738)
> >     at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
> ReflectiveMethodInvocation.java:157)
> >     at
> > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(
> ExposeInvocationInterceptor.java:92)
> >     at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
> ReflectiveMethodInvocation.java:179)
> >     at
> > org.springframework.aop.framework.CglibAopProxy$
> DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
> >     at
> > org.apache.nifi.web.controller.ControllerFacade$$EnhancerBySpringCGLIB$$
> e1de9216.getControllerStatus(<generated>)
> >     at
> > org.apache.nifi.web.StandardNiFiServiceFacade.getControllerStatus(
> StandardNiFiServiceFacade.java:2712)
> >     at
> > org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLIB$$
> 358780e0.invoke(<generated>)
> >     at
> > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
> >     at
> > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
> invokeJoinpoint(CglibAopProxy.java:738)
> >     at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
> ReflectiveMethodInvocation.java:157)
> >     at
> > org.springframework.aop.aspectj.MethodInvocationProceedingJoin
> Point.proceed(MethodInvocationProceedingJoinPoint.java:85)
> >     at
> > org.apache.nifi.web.NiFiServiceFacadeLock.proceedWithReadLock(
> NiFiServiceFacadeLock.java:155)
> >     at
> > org.apache.nifi.web.NiFiServiceFacadeLock.getLock(
> NiFiServiceFacadeLock.java:120)
> >     at sun.reflect.GeneratedMethodAccessor333.invoke(Unknown Source)
> >     at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke(Method.java:498)
> >     at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.
> invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629)
> >     at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.
> invokeAdviceMethod(AbstractAspectJAdvice.java:618)
> >     at
> > org.springframework.aop.aspectj.AspectJAroundAdvice.
> invoke(AspectJAroundAdvice.java:70)
> >     at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
> ReflectiveMethodInvocation.java:179)
> >     at
> > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(
> ExposeInvocationInterceptor.java:92)
> >     at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(
> ReflectiveMethodInvocation.java:179)
> >     at
> > org.springframework.aop.framework.CglibAopProxy$
> DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)
> >     at
> > org.apache.nifi.web.StandardNiFiServiceFacade$$EnhancerBySpringCGLIB$$
> 6298ded6.getControllerStatus(<generated>)
> >     at
> > org.apache.nifi.web.api.FlowResource.getControllerStatus(
> FlowResource.java:862)
> >     at sun.reflect.GeneratedMethodAccessor384.invoke(Unknown Source)
> >     at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke(Method.java:498)
> >     at
> > org.glassfish.jersey.server.model.internal.
> ResourceMethodInvocationHandlerFactory.lambda$static$0(
> ResourceMethodInvocationHandlerFactory.java:76)
> >     at
> > org.glassfish.jersey.server.model.internal.
> AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDisp
> atcher.java:148)
> >     at
> > org.glassfish.jersey.server.model.internal.
> AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDisp
> atcher.java:191)
> >     at
> > org.glassfish.jersey.server.model.internal.
> JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(
> JavaResourceMethodDispatcherProvider.java:200)
> >     at
> > org.glassfish.jersey.server.model.internal.
> AbstractJavaResourceMethodDispatcher.dispatch(
> AbstractJavaResourceMethodDispatcher.java:103)
> >     at
> > org.glassfish.jersey.server.model.ResourceMethodInvoker.
> invoke(ResourceMethodInvoker.java:493)
> >     at
> > org.glassfish.jersey.server.model.ResourceMethodInvoker.
> apply(ResourceMethodInvoker.java:415)
> >     at
> > org.glassfish.jersey.server.model.ResourceMethodInvoker.
> apply(ResourceMethodInvoker.java:104)
> >     at
> > org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
> >     at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272)
> >     at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268)
> >     at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
> >     at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
> >     at org.glassfish.jersey.internal.Errors.process(Errors.java:268)
> >     at
> > org.glassfish.jersey.process.internal.RequestScope.
> runInScope(RequestScope.java:289)
> >     at
> > org.glassfish.jersey.server.ServerRuntime.process(
> ServerRuntime.java:256)
> >     at
> > org.glassfish.jersey.server.ApplicationHandler.handle(
> ApplicationHandler.java:703)
> >     at
> > org.glassfish.jersey.servlet.WebComponent.serviceImpl(
> WebComponent.java:416)
> >     at
> > org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370)
> >     at
> > org.glassfish.jersey.servlet.ServletContainer.service(
> ServletContainer.java:389)
> >     at
> > org.glassfish.jersey.servlet.ServletContainer.service(
> ServletContainer.java:342)
> >     at
> > org.glassfish.jersey.servlet.ServletContainer.service(
> ServletContainer.java:229)
> >     at
> > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
> >     at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1634)
> >     at
> > org.apache.nifi.web.filter.RequestLogger.doFilter(RequestLogger.java:66)
> >     at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1621)
> >     at
> > org.springframework.security.web.FilterChainProxy$
> VirtualFilterChain.doFilter(FilterChainProxy.java:317)
> >     at
> > org.springframework.security.web.access.intercept.
> FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
> >     at
> > org.springframework.security.web.access.intercept.
> FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
> >     at
> > org.springframework.security.web.FilterChainProxy$
> VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at
> > org.springframework.security.web.session.SessionManagementFilter.
> doFilter(SessionManagementFilter.java:137)
> >     at
> > org.springframework.security.web.FilterChainProxy$
> VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at
> > org.springframework.security.web.authentication.
> AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.
> java:111)
> >     at
> > org.springframework.security.web.FilterChainProxy$
> VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at
> > org.apache.nifi.web.security.NiFiAuthenticationFilter.doFilter(
> NiFiAuthenticationFilter.java:60)
> >     at
> > org.springframework.security.web.FilterChainProxy$
> VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at
> > org.apache.nifi.web.security.NiFiAuthenticationFilter.doFilter(
> NiFiAuthenticationFilter.java:60)
> >     at
> > org.springframework.security.web.FilterChainProxy$
> VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at
> > org.apache.nifi.web.security.NiFiAuthenticationFilter.authenticate(
> NiFiAuthenticationFilter.java:84)
> >     at
> > org.apache.nifi.web.security.NiFiAuthenticationFilter.doFilter(
> NiFiAuthenticationFilter.java:58)
> >     at
> > org.springframework.security.web.FilterChainProxy$
> VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at
> > org.apache.nifi.web.security.NiFiAuthenticationFilter.authenticate(
> NiFiAuthenticationFilter.java:84)
> >     at
> > org.apache.nifi.web.security.NiFiAuthenticationFilter.doFilter(
> NiFiAuthenticationFilter.java:58)
> >     at
> > org.springframework.security.web.FilterChainProxy$
> VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> >     at
> > org.springframework.security.web.FilterChainProxy.doFilterInternal(
> FilterChainProxy.java:214)
> >     at
> > org.springframework.security.web.FilterChainProxy.doFilter(
> FilterChainProxy.java:177)
> >     at
> > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(
> DelegatingFilterProxy.java:346)
> >     at
> > org.springframework.web.filter.DelegatingFilterProxy.doFilter(
> DelegatingFilterProxy.java:262)
> >     at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1621)
> >     at org.apache.nifi.web.filter.TimerFilter.doFilter(
> TimerFilter.java:51)
> >     at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1613)
> >     at
> > org.apache.nifi.web.server.JettyServer$2.doFilter(JettyServer.java:981)
> >     at
> > org.eclipse.jetty.servlet.ServletHandler$CachedChain.
> doFilter(ServletHandler.java:1621)
> >     at
> > org.eclipse.jetty.servlet.ServletHandler.doHandle(
> ServletHandler.java:541)
> >     at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:143)
> >     at
> > org.eclipse.jetty.security.SecurityHandler.handle(
> SecurityHandler.java:548)
> >     at
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:132)
> >     at
> > org.eclipse.jetty.server.handler.ScopedHandler.
> nextHandle(ScopedHandler.java:190)
> >     at
> > org.eclipse.jetty.server.session.SessionHandler.
> doHandle(SessionHandler.java:1593)
> >     at
> > org.eclipse.jetty.server.handler.ScopedHandler.
> nextHandle(ScopedHandler.java:188)
> >     at
> > org.eclipse.jetty.server.handler.ContextHandler.
> doHandle(ContextHandler.java:1239)
> >     at
> > org.eclipse.jetty.server.handler.ScopedHandler.
> nextScope(ScopedHandler.java:168)
> >     at
> > org.eclipse.jetty.servlet.ServletHandler.doScope(
> ServletHandler.java:481)
> >     at
> > org.eclipse.jetty.server.session.SessionHandler.
> doScope(SessionHandler.java:1562)
> >     at
> > org.eclipse.jetty.server.handler.ScopedHandler.
> nextScope(ScopedHandler.java:166)
> >     at
> > org.eclipse.jetty.server.handler.ContextHandler.
> doScope(ContextHandler.java:1141)
> >     at
> > org.eclipse.jetty.server.handler.ScopedHandler.handle(
> ScopedHandler.java:141)
> >     at
> > org.eclipse.jetty.server.handler.HandlerCollection.
> handle(HandlerCollection.java:118)
> >     at
> > org.eclipse.jetty.server.handler.gzip.GzipHandler.
> handle(GzipHandler.java:561)
> >     at
> > org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52)
> >     at
> > org.eclipse.jetty.server.handler.HandlerWrapper.handle(
> HandlerWrapper.java:132)
> >     at org.eclipse.jetty.server.Server.handle(Server.java:564)
> >     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
> >     at
> > org.eclipse.jetty.server.HttpConnection.onFillable(
> HttpConnection.java:251)
> >     at
> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(
> AbstractConnection.java:279)
> >     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
> >     at
> > org.eclipse.jetty.io.ssl.SslConnection.onFillable(
> SslConnection.java:258)
> >     at
> > org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(
> SslConnection.java:147)
> >     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
> >     at org.eclipse.jetty.io.ChannelEndPoint$2.run(
> ChannelEndPoint.java:124)
> >     at
> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(
> QueuedThreadPool.java:672)
> >     at
> > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(
> QueuedThreadPool.java:590)
> >     at java.lang.Thread.run(Thread.java:748)
> > 2018-05-22 16:00:53,830 WARN [NiFi Web Server-793]
> > o.a.n.controller.StandardProcessorNode Failed during validation
> > java.lang.NullPointerException: null
> >     at
> > org.apache.nifi.processors.script.InvokeScriptedProcessor.
> customValidate(InvokeScriptedProcessor.java:476)
> >     at
> > org.apache.nifi.components.AbstractConfigurableComponent.validate(
> AbstractConfigurableComponent.java:126)
> >     at
> > org.apache.nifi.controller.AbstractConfiguredComponent.validate(
> AbstractConfiguredComponent.java:363)
> >     at
> > org.apache.nifi.controller.StandardProcessorNode.isValid(
> StandardProcessorNode.java:995)
> >     at
> > org.apache.nifi.controller.FlowController.getProcessorStatus(
> FlowController.java:3210)
> >     at
> > org.apache.nifi.controller.FlowController.getGroupStatus(
> FlowController.java:2800)
> >
> >
> > On Tue, May 22, 2018 at 4:41 PM, Bryan Bende <[email protected]> wrote:
> >>
> >> Is there a stacktrace in nifi-app.log at the time you got the validation
> >> error?
> >>
> >> On Tue, May 22, 2018 at 4:35 PM, Boris Tyukin <[email protected]>
> >> wrote:
> >> > I tried both along with nifi restart.
> >> >
> >> > it kinda works now. But this is CRAZY. If someone can explain this, I
> >> > would
> >> > give a hug :)
> >> >
> >> > My steps:
> >> >
> >> > 1. Drop new InvokeScriptedProcessor on canvas. Open properties and
> point
> >> > it
> >> > to my groovy file on NFS. Pick Groovy as a lang. Hit Apply
> >> > 2. Go back in the processor properties to populate my custom
> properties.
> >> > Hit
> >> > apply
> >> > --> Error bulletin popup - cannot validate bla bla
> >> >
> >> > 3. Open properties again. change path to groovy script to 1234. Apply
> >> >>> obviously error message that script does not exist
> >> >
> >> > 4. Open properties again and change path BACK to NFS path from step 1.
> >> > This
> >> > is exactly the same file/path. Hit Apply
> >> >>> All works now, no errors
> >> >
> >> > After NiFi restart processor still works, no errors. But if I start
> over
> >> > from step 1, I have to repeat all steps again.
> >> >
> >> > On Tue, May 22, 2018 at 4:22 PM, Shawn Weeks <
> [email protected]>
> >> > wrote:
> >> >>
> >> >> Were you disabling the processor or just stopping it? I've found with
> >> >> the
> >> >> scripted processors they will get in an odd state and that's the only
> >> >> way to
> >> >> reset it.
> >> >>
> >> >>
> >> >> Shawn
> >> >>
> >> >> ________________________________
> >> >> From: Boris Tyukin <[email protected]>
> >> >> Sent: Tuesday, May 22, 2018 3:07:36 PM
> >> >> To: [email protected]
> >> >> Subject: Re: InvokeScriptedProcessor from a shared folder
> >> >>
> >> >> well it works now...after I recreated processor 3 times and was
> >> >> changing
> >> >> parameters back and forth and now that error is gone.
> >> >>
> >> >> we did not change permissions on nfs or file so not sure why nifi did
> >> >> not
> >> >> like it at first.
> >> >>
> >> >> On Tue, May 22, 2018 at 3:32 PM, Boris Tyukin <[email protected]
> >
> >> >> wrote:
> >> >>
> >> >> Hello,
> >> >>
> >> >> I created a custom groovy processor and saved it in a file. That file
> >> >> was
> >> >> placed on NFS share and I pointed NiFi's InvokeScriptedProcessor to
> it.
> >> >>
> >> >> When I started a processor, I got a weird error that it failed custom
> >> >> validation.
> >> >>
> >> >> If I copy that file out of NFS to a local directory, it works fine.
> >> >>
> >> >> It seems that NiFi is trying to obtain a file lock or something that
> >> >> NFS
> >> >> does not support.
> >> >>
> >> >> Can someone shed some light on this? We were hoping to keep scripted
> >> >> processors on NFS so they accessible from all the nodes and also
> >> >> deployed to
> >> >> a single place.
> >> >>
> >> >> Thanks,
> >> >> Boris
> >> >>
> >> >>
> >> >
> >
> >
>

Reply via email to