You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@nifi.apache.org by "Greene (US), Geoffrey N" <ge...@boeing.com> on 2021/03/12 21:12:21 UTC

nifi registry throwing NPE on viewing local changes

Brand new installation of nifi-registry here (0.8.0), and nifi 1.12.0, probably screwed something on the setup.

It's a vanilla installation except that I am

1)      Doing this all on windows (I know, I know)

2)      Using the corporate gitlab.  It uses a self-signed cert, but I put the cert into java's cacerts, so that should not be an issue

3)      Using The GitFlowPersistenceProvider

<flowPersistenceProvider>

        <class>org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider</class>

        <property name="Flow Storage Directory">../nifi-repository</property>

        <property name="Remote To Push">origin</property>

        <property name="Remote Access User">username</property>

        <property name="Remote Access Password">password</property>

        <property name="Remote Clone Repository"></property>

    </flowPersistenceProvider>


Via nifi, I can do commits and movements between versions just fine.  However when I make a local change and try to view the local changes, I get, "Error: Failed to retrieve flow with Flow Registry in order to calculate local differences due to Error retrieving flow snapshot: An unexpected error has occurred. Please check the logs or additional details"

Any ideas?

The log give me this stack trace:

2021-03-12 12:50:10,677 ERROR [NiFi Registry Web Server-18] o.a.n.r.web.mapper.ThrowableMapper An unexpected error has occurred: java.lang.NullPointerException. Returning Internal Server Error response.
java.lang.NullPointerException: null
                at org.eclipse.jgit.lib.Repository.resolve(Repository.java:509)
                at org.eclipse.jgit.lib.Repository.resolve(Repository.java:469)
                at org.apache.nifi.registry.provider.flow.git.GitFlowMetaData.getContent(GitFlowMetaData.java:524)
                at org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider.getFlowContent(GitFlowPersistenceProvider.java:205)
                at org.apache.nifi.registry.service.RegistryService.getVersionedFlowSnapshot(RegistryService.java:686)
                at org.apache.nifi.registry.service.RegistryService.getFlowSnapshot(RegistryService.java:674)
                at org.apache.nifi.registry.web.service.StandardServiceFacade.getFlowSnapshot(StandardServiceFacade.java:324)
                at org.apache.nifi.registry.web.service.StandardServiceFacade$$FastClassBySpringCGLIB$$8b3bf0a8.invoke(<generated>)
                at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
                at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
                at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
                at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
                at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
                at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
                at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
                at org.apache.nifi.registry.web.service.StandardServiceFacade$$EnhancerBySpringCGLIB$$4a74f8d4.getFlowSnapshot(<generated>)
                at org.apache.nifi.registry.web.api.BucketFlowResource.getFlowVersion(BucketFlowResource.java:419)
                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.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
                at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
                at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
                at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)
                at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
                at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
                at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
                at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
                at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253)
                at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
                at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
                at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
                at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
                at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
                at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
                at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232)
                at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)
                at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:392)
                at org.glassfish.jersey.servlet.ServletContainer.serviceImpl(ServletContainer.java:385)
                at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:560)
                at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:501)
                at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:438)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
                at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
                at org.apache.nifi.registry.web.security.authorization.ResourceAuthorizationFilter.forwardRequestWithoutAuthorizationCheck(ResourceAuthorizationFilter.java:151)
                at org.apache.nifi.registry.web.security.authorization.ResourceAuthorizationFilter.doFilter(ResourceAuthorizationFilter.java:113)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
                at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
                at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
                at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
                at org.apache.nifi.registry.web.security.authentication.IdentityFilter.doFilter(IdentityFilter.java:56)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
                at org.apache.nifi.registry.web.security.authentication.IdentityFilter.doFilter(IdentityFilter.java:56)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
                at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
                at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
                at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
                at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
                at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
                at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
                at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
                at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
                at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
                at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
                at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
                at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
                at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
                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:257)
                at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)
                at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
                at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)
                at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
                at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
                at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)
                at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
                at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)
                at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
                at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)
                at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
                at org.eclipse.jetty.server.Server.handle(Server.java:505)
                at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
                at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
                at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
                at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
                at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
                at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
                at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
                at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
                at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
                at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
                at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)
                at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)
                at java.lang.Thread.run(Thread.java:748)


RE: [EXTERNAL] Re: nifi registry throwing NPE on viewing local changes

Posted by "Greene (US), Geoffrey N" <ge...@boeing.com>.
Thanks Bryan, that is probably it.  When I switched to the file provider mode, it started working like a champ.....I'll talk to my team about switching to linux.  Or maybe we'll just put the files in  "file mode" into git as an (ugly) workaround....Better than nothing.


-----Original Message-----
From: Bryan Bende [mailto:bbende@gmail.com] 
Sent: Friday, March 12, 2021 4:48 PM
To: users@nifi.apache.org
Subject: [EXTERNAL] Re: nifi registry throwing NPE on viewing local changes

EXT email: be mindful of links/attachments.



Hello,

I'm not totally sure if this is the problem, but NiFi Registry is not considered supported on Windows, and there are definitely some issues with the Git provider on Windows.

https://nifi.apache.org/docs/nifi-registry-docs/html/administration-guide.html#system-requirements

Thanks,

Bryan

On Fri, Mar 12, 2021 at 4:12 PM Greene (US), Geoffrey N <ge...@boeing.com> wrote:
>
> Brand new installation of nifi-registry here (0.8.0), and nifi 1.12.0, probably screwed something on the setup.
>
>
>
> It’s a vanilla installation except that I am
>
> 1)      Doing this all on windows (I know, I know)
>
> 2)      Using the corporate gitlab.  It uses a self-signed cert, but I put the cert into java’s cacerts, so that should not be an issue
>
> 3)      Using The GitFlowPersistenceProvider
>
> <flowPersistenceProvider>
>
>         
> <class>org.apache.nifi.registry.provider.flow.git.GitFlowPersistencePr
> ovider</class>
>
>         <property name="Flow Storage 
> Directory">../nifi-repository</property>
>
>         <property name="Remote To Push">origin</property>
>
>         <property name="Remote Access User">username</property>
>
>         <property name="Remote Access Password">password</property>
>
>         <property name="Remote Clone Repository"></property>
>
>     </flowPersistenceProvider>
>
>
>
> Via nifi, I can do commits and movements between versions just fine.  However when I make a local change and try to view the local changes, I get, “Error: Failed to retrieve flow with Flow Registry in order to calculate local differences due to Error retrieving flow snapshot: An unexpected error has occurred. Please check the logs or additional details”
>
>
>
> Any ideas?
>
>
>
> The log give me this stack trace:
>
>
>
> 2021-03-12 12:50:10,677 ERROR [NiFi Registry Web Server-18] o.a.n.r.web.mapper.ThrowableMapper An unexpected error has occurred: java.lang.NullPointerException. Returning Internal Server Error response.
>
> java.lang.NullPointerException: null
>
>                 at 
> org.eclipse.jgit.lib.Repository.resolve(Repository.java:509)
>
>                 at 
> org.eclipse.jgit.lib.Repository.resolve(Repository.java:469)
>
>                 at 
> org.apache.nifi.registry.provider.flow.git.GitFlowMetaData.getContent(
> GitFlowMetaData.java:524)
>
>                 at 
> org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider.
> getFlowContent(GitFlowPersistenceProvider.java:205)
>
>                 at 
> org.apache.nifi.registry.service.RegistryService.getVersionedFlowSnaps
> hot(RegistryService.java:686)
>
>                 at 
> org.apache.nifi.registry.service.RegistryService.getFlowSnapshot(Regis
> tryService.java:674)
>
>                 at 
> org.apache.nifi.registry.web.service.StandardServiceFacade.getFlowSnap
> shot(StandardServiceFacade.java:324)
>
>                 at 
> org.apache.nifi.registry.web.service.StandardServiceFacade$$FastClassB
> ySpringCGLIB$$8b3bf0a8.invoke(<generated>)
>
>                 at 
> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:21
> 8)
>
>                 at 
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
> invokeJoinpoint(CglibAopProxy.java:771)
>
>                 at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:163)
>
>                 at 
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
> proceed(CglibAopProxy.java:749)
>
>                 at 
> org.springframework.transaction.interceptor.TransactionAspectSupport.i
> nvokeWithinTransaction(TransactionAspectSupport.java:366)
>
>                 at 
> org.springframework.transaction.interceptor.TransactionInterceptor.inv
> oke(TransactionInterceptor.java:118)
>
>                 at 
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:186)
>
>                 at 
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
> proceed(CglibAopProxy.java:749)
>
>                 at 
> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedIntercep
> tor.intercept(CglibAopProxy.java:691)
>
>                 at 
> org.apache.nifi.registry.web.service.StandardServiceFacade$$EnhancerBy
> SpringCGLIB$$4a74f8d4.getFlowSnapshot(<generated>)
>
>                 at 
> org.apache.nifi.registry.web.api.BucketFlowResource.getFlowVersion(Buc
> ketFlowResource.java:419)
>
>                 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)
>
>                 at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.j
> ava:62)
>
>                 at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:43)
>
>                 at java.lang.reflect.Method.invoke(Method.java:498)
>
>                 at 
> org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHan
> dlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.jav
> a:52)
>
>                 at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodD
> ispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
>
>                 at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodD
> ispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
>
>                 at 
> org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatche
> rProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherPr
> ovider.java:176)
>
>                 at 
> org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodD
> ispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
>
>                 at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(Resourc
> eMethodInvoker.java:469)
>
>                 at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resource
> MethodInvoker.java:391)
>
>                 at 
> org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(Resource
> MethodInvoker.java:80)
>
>                 at 
> org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253
> )
>
>                 at 
> org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
>
>                 at 
> org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
>
>                 at 
> org.glassfish.jersey.internal.Errors.process(Errors.java:292)
>
>                 at 
> org.glassfish.jersey.internal.Errors.process(Errors.java:274)
>
>                 at 
> org.glassfish.jersey.internal.Errors.process(Errors.java:244)
>
>                 at 
> org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestS
> cope.java:265)
>
>                 at 
> org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:2
> 32)
>
>                 at 
> org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandl
> er.java:680)
>
>                 at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.jav
> a:392)
>
>                 at 
> org.glassfish.jersey.servlet.ServletContainer.serviceImpl(ServletConta
> iner.java:385)
>
>                 at 
> org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContaine
> r.java:560)
>
>                 at 
> org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContaine
> r.java:501)
>
>                 at 
> org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContaine
> r.java:438)
>
>                 at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1610)
>
>                 at 
> org.springframework.web.filter.RequestContextFilter.doFilterInternal(R
> equestContextFilter.java:100)
>
>                 at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:119)
>
>                 at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1610)
>
>                 at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:320)
>
>                 at 
> org.apache.nifi.registry.web.security.authorization.ResourceAuthorizat
> ionFilter.forwardRequestWithoutAuthorizationCheck(ResourceAuthorizatio
> nFilter.java:151)
>
>                 at 
> org.apache.nifi.registry.web.security.authorization.ResourceAuthorizat
> ionFilter.doFilter(ResourceAuthorizationFilter.java:113)
>
>                 at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:334)
>
>                 at 
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.invoke(FilterSecurityInterceptor.java:126)
>
>                 at 
> org.springframework.security.web.access.intercept.FilterSecurityInterc
> eptor.doFilter(FilterSecurityInterceptor.java:90)
>
>                 at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:334)
>
>                 at 
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> ilter(ExceptionTranslationFilter.java:118)
>
>                 at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:334)
>
>                 at 
> org.springframework.security.web.session.SessionManagementFilter.doFil
> ter(SessionManagementFilter.java:137)
>
>                 at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:334)
>
>                 at 
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> nFilter.doFilter(AnonymousAuthenticationFilter.java:111)
>
>                 at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:334)
>
>                 at 
> org.apache.nifi.registry.web.security.authentication.IdentityFilter.do
> Filter(IdentityFilter.java:56)
>
>                 at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:334)
>
>                 at 
> org.apache.nifi.registry.web.security.authentication.IdentityFilter.do
> Filter(IdentityFilter.java:56)
>
>                 at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:334)
>
>                 at 
> org.springframework.security.web.header.HeaderWriterFilter.doHeadersAf
> ter(HeaderWriterFilter.java:92)
>
>                 at 
> org.springframework.security.web.header.HeaderWriterFilter.doFilterInt
> ernal(HeaderWriterFilter.java:77)
>
>                 at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:119)
>
>                 at 
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.d
> oFilter(FilterChainProxy.java:334)
>
>                 at 
> org.springframework.security.web.FilterChainProxy.doFilterInternal(Fil
> terChainProxy.java:215)
>
>                 at 
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChain
> Proxy.java:178)
>
>                 at 
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> legatingFilterProxy.java:358)
>
>                 at 
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> ngFilterProxy.java:271)
>
>                 at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1610)
>
>                 at 
> org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(
> ErrorPageFilter.java:128)
>
>                 at 
> org.springframework.boot.web.servlet.support.ErrorPageFilter.access$00
> 0(ErrorPageFilter.java:66)
>
>                 at 
> org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilte
> rInternal(ErrorPageFilter.java:103)
>
>                 at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:119)
>
>                 at 
> org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(
> ErrorPageFilter.java:121)
>
>                 at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1610)
>
>                 at 
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInterna
> l(CharacterEncodingFilter.java:201)
>
>                 at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRe
> questFilter.java:119)
>
>                 at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletH
> andler.java:1610)
>
>                 at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> 540)
>
>                 at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:146)
>
>                 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(ScopedHandle
> r.java:257)
>
>                 at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> r.java:1711)
>
>                 at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandle
> r.java:255)
>
>                 at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> r.java:1347)
>
>                 at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler
> .java:203)
>
>                 at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:4
> 80)
>
>                 at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler
> .java:1678)
>
>                 at 
> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler
> .java:201)
>
>                 at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler
> .java:1249)
>
>                 at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.ja
> va:144)
>
>                 at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerColle
> ction.java:152)
>
>                 at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.
> java:132)
>
>                 at 
> org.eclipse.jetty.server.Server.handle(Server.java:505)
>
>                 at 
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
>
>                 at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java
> :267)
>
>                 at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(Abstrac
> tConnection.java:305)
>
>                 at 
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>
>                 at 
> org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
>
>                 at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatY
> ouKill.java:333)
>
>                 at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWha
> tYouKill.java:310)
>
>                 at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWh
> atYouKill.java:168)
>
>                 at 
> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKi
> ll.java:126)
>
>                 at 
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.ru
> n(ReservedThreadExecutor.java:366)
>
>                 at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool
> .java:781)
>
>                 at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThread
> Pool.java:917)
>
>                 at java.lang.Thread.run(Thread.java:748)
>
>


Re: nifi registry throwing NPE on viewing local changes

Posted by Bryan Bende <bb...@gmail.com>.
Hello,

I'm not totally sure if this is the problem, but NiFi Registry is not
considered supported on Windows, and there are definitely some issues
with the Git provider on Windows.

https://nifi.apache.org/docs/nifi-registry-docs/html/administration-guide.html#system-requirements

Thanks,

Bryan

On Fri, Mar 12, 2021 at 4:12 PM Greene (US), Geoffrey N
<ge...@boeing.com> wrote:
>
> Brand new installation of nifi-registry here (0.8.0), and nifi 1.12.0, probably screwed something on the setup.
>
>
>
> It’s a vanilla installation except that I am
>
> 1)      Doing this all on windows (I know, I know)
>
> 2)      Using the corporate gitlab.  It uses a self-signed cert, but I put the cert into java’s cacerts, so that should not be an issue
>
> 3)      Using The GitFlowPersistenceProvider
>
> <flowPersistenceProvider>
>
>         <class>org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider</class>
>
>         <property name="Flow Storage Directory">../nifi-repository</property>
>
>         <property name="Remote To Push">origin</property>
>
>         <property name="Remote Access User">username</property>
>
>         <property name="Remote Access Password">password</property>
>
>         <property name="Remote Clone Repository"></property>
>
>     </flowPersistenceProvider>
>
>
>
> Via nifi, I can do commits and movements between versions just fine.  However when I make a local change and try to view the local changes, I get, “Error: Failed to retrieve flow with Flow Registry in order to calculate local differences due to Error retrieving flow snapshot: An unexpected error has occurred. Please check the logs or additional details”
>
>
>
> Any ideas?
>
>
>
> The log give me this stack trace:
>
>
>
> 2021-03-12 12:50:10,677 ERROR [NiFi Registry Web Server-18] o.a.n.r.web.mapper.ThrowableMapper An unexpected error has occurred: java.lang.NullPointerException. Returning Internal Server Error response.
>
> java.lang.NullPointerException: null
>
>                 at org.eclipse.jgit.lib.Repository.resolve(Repository.java:509)
>
>                 at org.eclipse.jgit.lib.Repository.resolve(Repository.java:469)
>
>                 at org.apache.nifi.registry.provider.flow.git.GitFlowMetaData.getContent(GitFlowMetaData.java:524)
>
>                 at org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider.getFlowContent(GitFlowPersistenceProvider.java:205)
>
>                 at org.apache.nifi.registry.service.RegistryService.getVersionedFlowSnapshot(RegistryService.java:686)
>
>                 at org.apache.nifi.registry.service.RegistryService.getFlowSnapshot(RegistryService.java:674)
>
>                 at org.apache.nifi.registry.web.service.StandardServiceFacade.getFlowSnapshot(StandardServiceFacade.java:324)
>
>                 at org.apache.nifi.registry.web.service.StandardServiceFacade$$FastClassBySpringCGLIB$$8b3bf0a8.invoke(<generated>)
>
>                 at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
>
>                 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
>
>                 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
>
>                 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
>
>                 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:366)
>
>                 at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
>
>                 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
>
>                 at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
>
>                 at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
>
>                 at org.apache.nifi.registry.web.service.StandardServiceFacade$$EnhancerBySpringCGLIB$$4a74f8d4.getFlowSnapshot(<generated>)
>
>                 at org.apache.nifi.registry.web.api.BucketFlowResource.getFlowVersion(BucketFlowResource.java:419)
>
>                 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.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
>
>                 at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)
>
>                 at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)
>
>                 at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:176)
>
>                 at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)
>
>                 at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:469)
>
>                 at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:391)
>
>                 at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:80)
>
>                 at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:253)
>
>                 at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
>
>                 at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
>
>                 at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
>
>                 at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
>
>                 at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
>
>                 at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
>
>                 at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:232)
>
>                 at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:680)
>
>                 at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:392)
>
>                 at org.glassfish.jersey.servlet.ServletContainer.serviceImpl(ServletContainer.java:385)
>
>                 at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:560)
>
>                 at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:501)
>
>                 at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:438)
>
>                 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
>
>                 at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
>
>                 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
>
>                 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
>
>                 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
>
>                 at org.apache.nifi.registry.web.security.authorization.ResourceAuthorizationFilter.forwardRequestWithoutAuthorizationCheck(ResourceAuthorizationFilter.java:151)
>
>                 at org.apache.nifi.registry.web.security.authorization.ResourceAuthorizationFilter.doFilter(ResourceAuthorizationFilter.java:113)
>
>                 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>
>                 at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
>
>                 at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
>
>                 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>
>                 at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
>
>                 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>
>                 at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
>
>                 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>
>                 at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
>
>                 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>
>                 at org.apache.nifi.registry.web.security.authentication.IdentityFilter.doFilter(IdentityFilter.java:56)
>
>                 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>
>                 at org.apache.nifi.registry.web.security.authentication.IdentityFilter.doFilter(IdentityFilter.java:56)
>
>                 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>
>                 at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
>
>                 at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
>
>                 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
>
>                 at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>
>                 at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
>
>                 at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
>
>                 at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
>
>                 at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
>
>                 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
>
>                 at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
>
>                 at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
>
>                 at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
>
>                 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
>
>                 at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
>
>                 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
>
>                 at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
>
>                 at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
>
>                 at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
>
>                 at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
>
>                 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>
>                 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:257)
>
>                 at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1711)
>
>                 at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>
>                 at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1347)
>
>                 at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>
>                 at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
>
>                 at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1678)
>
>                 at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>
>                 at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1249)
>
>                 at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>
>                 at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152)
>
>                 at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>
>                 at org.eclipse.jetty.server.Server.handle(Server.java:505)
>
>                 at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
>
>                 at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
>
>                 at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>
>                 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>
>                 at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
>
>                 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>
>                 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>
>                 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>
>                 at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>
>                 at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>
>                 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:781)
>
>                 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:917)
>
>                 at java.lang.Thread.run(Thread.java:748)
>
>