Hi – ok, now I’ve got a different (but maybe related?) problem. I’ve set up the nifi registry on a remote server with a git repository. I can add process groups from nifi to the registry for version control, and it does create the objects as expected in the repository. However, when I try to export a flow using the cli tools, I get the following error (in the log file):
2018-09-12 18:21:55,762 INFO [main] org.apache.nifi.registry.NiFiRegistry Registry initialization took 18603838900 nanoseconds (18 seconds). 2018-09-12 18:22:08,270 INFO [NiFi Registry Web Server-17] o.a.n.r.w.m.IllegalStateExceptionMapper java.lang.IllegalStateException: Access tokens are only issued over HTTPS. Returning Conflict response. 2018-09-12 18:24:13,341 ERROR [NiFi Registry Web Server-17] 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:526) ~[org.eclipse.jgit-4.11.0.201803080745-r.jar:4.11.0.201803080745-r] at org.eclipse.jgit.lib.Repository.resolve(Repository.java:487) ~[org.eclipse.jgit-4.11.0.201803080745-r.jar:4.11.0.201803080745-r] at org.apache.nifi.registry.provider.flow.git.GitFlowMetaData.getContent(GitFlowMetaData.java:422) ~[nifi-registry-framework-0.2.0.jar:0.2.0] at org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider.getFlowContent(GitFlowPersistenceProvider.java:180) ~[nifi-registry-framework-0.2.0.jar:0.2.0] at org.apache.nifi.registry.service.RegistryService.getVersionedFlowSnapshot(RegistryService.java:688) ~[nifi-registry-framework-0.2.0.jar:0.2.0] at org.apache.nifi.registry.service.RegistryService.getFlowSnapshot(RegistryService.java:673) ~[nifi-registry-framework-0.2.0.jar:0.2.0] at org.apache.nifi.registry.service.RegistryService$$FastClassBySpringCGLIB$$274de08.invoke(<generated>) ~[nifi-registry-framework-0.2.0.jar:0.2.0] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) ~[spring-tx-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) ~[spring-tx-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.apache.nifi.registry.service.RegistryService$$EnhancerBySpringCGLIB$$e1f05d2e.getFlowSnapshot(<generated>) ~[nifi-registry-framework-0.2.0.jar:0.2.0] at org.apache.nifi.registry.web.api.FlowResource.getLatestFlowVersion(FlowResource.java:248) ~[classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_181] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.8.0_181] at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.8.0_181] at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76) ~[jersey-server-2.26.jar:na] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148) ~[jersey-server-2.26.jar:na] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191) ~[jersey-server-2.26.jar:na] at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200) ~[jersey-server-2.26.jar:na] at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103) ~[jersey-server-2.26.jar:na] at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493) ~[jersey-server-2.26.jar:na] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415) ~[jersey-server-2.26.jar:na] at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104) ~[jersey-server-2.26.jar:na] at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277) ~[jersey-server-2.26.jar:na] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272) [jersey-common-2.26.jar:na] at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268) [jersey-common-2.26.jar:na] at org.glassfish.jersey.internal.Errors.process(Errors.java:316) [jersey-common-2.26.jar:na] at org.glassfish.jersey.internal.Errors.process(Errors.java:298) [jersey-common-2.26.jar:na] at org.glassfish.jersey.internal.Errors.process(Errors.java:268) [jersey-common-2.26.jar:na] at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289) [jersey-common-2.26.jar:na] at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256) [jersey-server-2.26.jar:na] at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703) [jersey-server-2.26.jar:na] at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416) [jersey-container-servlet-core-2.26.jar:na] at org.glassfish.jersey.servlet.ServletContainer.serviceImpl(ServletContainer.java:409) [jersey-container-servlet-core-2.26.jar:na] at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:584) [jersey-container-servlet-core-2.26.jar:na] at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:525) [jersey-container-servlet-core-2.26.jar:na] at org.glassfish.jersey.servlet.ServletContainer.doFilter(ServletContainer.java:462) [jersey-container-servlet-core-2.26.jar:na] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) [jetty-servlet-9.4.3.v20170317.jar:9.4.3.v20170317] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.apache.nifi.registry.web.security.authorization.ResourceAuthorizationFilter.forwardRequestWithoutAuthorizationCheck(ResourceAuthorizationFilter.java:151) [classes/:na] at org.apache.nifi.registry.web.security.authorization.ResourceAuthorizationFilter.doFilter(ResourceAuthorizationFilter.java:113) [classes/:na] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.apache.nifi.registry.web.security.authentication.IdentityFilter.doFilter(IdentityFilter.java:56) [classes/:na] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.apache.nifi.registry.web.security.authentication.IdentityFilter.doFilter(IdentityFilter.java:56) [classes/:na] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) [jetty-servlet-9.4.3.v20170317.jar:9.4.3.v20170317] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) [jetty-servlet-9.4.3.v20170317.jar:9.4.3.v20170317] at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) [jetty-servlet-9.4.3.v20170317.jar:9.4.3.v20170317] at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) [jetty-servlet-9.4.3.v20170317.jar:9.4.3.v20170317] at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:117) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE] at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE] at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:92) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:110) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) [jetty-servlet-9.4.3.v20170317.jar:9.4.3.v20170317] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE] at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621) [jetty-servlet-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541) [jetty-servlet-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [jetty-security-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1593) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1239) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481) [jetty-servlet-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1562) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1141) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:118) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.Server.handle(Server.java:564) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [jetty-server-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) [jetty-io-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110) [jetty-io-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) [jetty-io-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122) [jetty-util-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58) [jetty-util-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201) [jetty-util-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:133) [jetty-util-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672) [jetty-util-9.4.3.v20170317.jar:9.4.3.v20170317] at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590) [jetty-util-9.4.3.v20170317.jar:9.4.3.v20170317] at java.lang.Thread.run(Unknown Source) [na:1.8.0_181] If I restart the registry service, I’m getting this error in the log: 2018-09-12 18:34:12,592 INFO [main] o.a.n.r.provider.StandardProviderFactory Instantiated FlowPersistenceProvider with class name org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider 2018-09-12 18:34:13,206 WARN [main] org.eclipse.jgit.util.FS_Win32 null 2018-09-12 18:34:13,563 WARN [main] o.a.n.r.p.flow.git.GitFlowMetaData Git object id for Flow 929cd7fd-a095-44fc-9eb6-e09335e29c2d version 1 with path CleverReports\Logons_to_CleverReports.snapshot in bucket CleverReports:b8561db0-2138-4054-ace7-ae5c6e8856d5 was not found. Ignoring this entry. 2018-09-12 18:34:13,563 INFO [main] o.a.n.r.p.flow.git.GitFlowMetaData Configured GitFlowPersistenceProvider with Flow Storage Directory D:\nifi-registry-0.2.0\.\cleverreportsnifi This is a new system, so all the ids should match. Any idea what’s going on? Thanks, Dave From: Bryan Bende <bbe...@gmail.com> Sent: Tuesday, September 11, 2018 6:04 PM To: users@nifi.apache.org Subject: Re: Nifi Registry + Git: target registry ignores git flows Assuming you have a dev DB & git repo and then a prod DB & git repo, each DB goes with the corresponding repo and has ids that are unique to the environment, so you can't take one of the DBs and point at the other’s git repo, that is why you need the export/import process with the CLI. The reason everything looked ok on the registry side of things is because it doesn’t need any of the flow content at that point, so it was just showing what was in the DB, but then when you said to import the flow into NiFi it then used the info from the DB to locate the flow in the git repo, and it didn’t exist because the bucket id and flow id are not the same. On Sep 11, 2018, at 4:55 PM, David Gallagher <dgallag...@cleverdevices.com<mailto:dgallag...@cleverdevices.com>> wrote: Ok, Last question on this one (promise!). I’ve set up the dev / git repository and it’s working great. I can export flows from dev using the cli and import them into Prod. One thing though, following up on an earlier suggestion from Mike below – I tried stopping the dev registry, copying its database, and using it to overwrite the prod registry’s database. It seemed to work fine – I started up the prod registry, and the buckets and flows were all present. However, when I tried to import a flow from Prod into NiFi, I got an error message (in a popup): The Flow Registry with ID ca62a0a5-0165-1000-256b-521c462b06f8 reports that no Flow exists with Bucket d4438d9e-4aef-43f3-866b-55c4a2089e19, Flow b24d2adf-5d2f-4cfd-a160-88a4de99a6d0, Version 1 I tried using the cli tool, list buckets and flows works as expected but I can’t use the export function. Do I have to do anything special to back up the metadata database correctly? Thanks, Dave From: Kevin Doran <kdoran.apa...@gmail.com<mailto:kdoran.apa...@gmail.com>> Sent: Tuesday, September 11, 2018 10:25 AM To: users@nifi.apache.org<mailto:users@nifi.apache.org> Subject: Re: Nifi Registry + Git: target registry ignores git flows Happy to help anytime. Glad it’s working for you! Kevin From: David Gallagher <dgallag...@cleverdevices.com<mailto:dgallag...@cleverdevices.com>> Reply-To: "users@nifi.apache.org<mailto:users@nifi.apache.org>" <users@nifi.apache.org<mailto:users@nifi.apache.org>> Date: Tuesday, September 11, 2018 at 10:18 To: "users@nifi.apache.org<mailto:users@nifi.apache.org>" <users@nifi.apache.org<mailto:users@nifi.apache.org>> Subject: RE: Nifi Registry + Git: target registry ignores git flows OK, I think I’ve got it now – I didn’t realize that you had to create a bucket and empty flow in the ‘prd’ repository before you could import a version into that flow. For some reason I thought ‘Import Flow’ would create the bucket and flow if it didn’t already exist. Thanks for the help! Dave From: Kevin Doran <kdoran.apa...@gmail.com<mailto:kdoran.apa...@gmail.com>> Sent: Monday, September 10, 2018 10:18 AM To: users@nifi.apache.org<mailto:users@nifi.apache.org> Subject: Re: Nifi Registry + Git: target registry ignores git flows Hi Dave, Either persistence provider should work fine for your use case. The error message indicates that flow ID does not exist in that bucket. You can browse the available buckets and flows in the NiFi Registry UI (in the default view), where clicking on a flow will display details including the flow id and bucket id. You can also get this information from the CLI using the 'nifi-registy list-buckets' and 'nifi-registy list-flows' commands. If you are using the correct ids and still getting this error, it means something is corrupted creating a mismatch between the flow persistence provider and the metadata persistence provider. I’ve never seen that happen before. My guess would be it could be caused due to a configuration error, a change from one provider to another without foiloowing the right steps, or manually modifying the persistence files outside of the NiFi Registry API/UI I hope this helps you get on the right track. Let me know if you need further assistance. Cheers, Kevin From: David Gallagher <dgallag...@cleverdevices.com<mailto:dgallag...@cleverdevices.com>> Reply-To: "users@nifi.apache.org<mailto:users@nifi.apache.org>" <users@nifi.apache.org<mailto:users@nifi.apache.org>> Date: Sunday, September 9, 2018 at 11:06 To: "users@nifi.apache.org<mailto:users@nifi.apache.org>" <users@nifi.apache.org<mailto:users@nifi.apache.org>> Subject: RE: Nifi Registry + Git: target registry ignores git flows Thanks for the assistance! I tried the CLI and it worked up until I tried to export a flow from ‘Dev’, got this message: 2018-09-09 10:52:45,911 ERROR [NiFi Registry Web Server-19] o.a.n.r.web.mapper.ThrowableMapper An unexpected error has occurred: org.apache.nifi.registry.flow.FlowPersistenceException: Flow ID 0df59975-2683-4e84-91f5-f616bbed207a version 1 was not found in bucket CleverGit:34658e23-c138-4085-9280-6359f322672d.. Returning Internal Server Error response. org.apache.nifi.registry.flow.FlowPersistenceException: Flow ID 0df59975-2683-4e84-91f5-f616bbed207a version 1 was not found in bucket CleverGit:34658e23-c138-4085-9280-6359f322672d. Am I going about this the wrong way? Should I just be using the default flow persistence provider? Thanks, Dave From: Kevin Doran <kdoran.apa...@gmail.com<mailto:kdoran.apa...@gmail.com>> Sent: Saturday, September 8, 2018 1:54 PM To: users@nifi.apache.org<mailto:users@nifi.apache.org> Subject: Re: Nifi Registry + Git: target registry ignores git flows Mike is correct – it is likely due to mismatch of metadata (bucket ids and flow ids) in the two environments. The recommended way to move flow snapshots across air-gapped environments at this time is and export/import with the NiFi CLI [1], a tool included the NiFi Toolkit, which you can download here [2]. The import step will create the necessary metadata for you. Let me know if you have any questions! [1] https://github.com/apache/nifi/tree/master/nifi-toolkit/nifi-toolkit-cli [2] https://nifi.apache.org/download.html Kevin From: Mike Thomsen <mikerthom...@gmail.com<mailto:mikerthom...@gmail.com>> Reply-To: "users@nifi.apache.org<mailto:users@nifi.apache.org>" <users@nifi.apache.org<mailto:users@nifi.apache.org>> Date: Saturday, September 8, 2018 at 13:17 To: "users@nifi.apache.org<mailto:users@nifi.apache.org>" <users@nifi.apache.org<mailto:users@nifi.apache.org>> Subject: Re: Nifi Registry + Git: target registry ignores git flows It probably has to do with the database the registry used not being migrated to your new environment. Try setting up a snapshot of that too. On Sat, Sep 8, 2018 at 1:06 PM David Gallagher <dgallag...@cleverdevices.com<mailto:dgallag...@cleverdevices.com>> wrote: Hi – I have a dev registry server (1.7.1) set up with git, and am trying to use git bundle to move the buckets and flows to a test registry instance (I’m using git bundle because there’s going to be an air gap in production). Everything looks fine, but when I start the production registry it ignores the buckets from the clone. I’ve got this in the error message: 2018-09-08 11:57:39,084 INFO [main] o.a.n.r.provider.StandardProviderFactory Instantiated FlowPersistenceProvider with class name org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider 2018-09-08 11:57:40,077 WARN [main] o.a.n.r.p.flow.git.GitFlowMetaData Git object id for Flow 0df59975-2683-4e84-91f5-f616bbed207a version 1 with path CleverGit\LogonTransactions_to_CleverReports.snapshot in bucket CleverGit:34658e23-c138-4085-9280-6359f322672d was not found. Ignoring this entry. I can see that the structure is present and (seemingly) correct on the ‘Prod’ registry. Anything obvious that I’m missing, or things I can try out? Thanks, Dave