Hi Russ, Thanks for the stacktrace and details. I'm going to try to recreate the issue. To do this I will need some specifics about your flow.
I expect you can't share the flow with me (if you can that would be great...), but would it be possible to share the diff between versions -- i.e., the diff between the version that was in QA and the version that you tried to update to You can get this by going to the following URL for your NiFi Registry server: http://<host>:<port>/nifi-registry-api/buckets/{bucketId}/flows/{flowId}/diff/{versionA}/{versionB} (If Registry is secured, you will need to do this with an HTTP client that lets you authenticate as a user with access to the specified Bucket, using either a TLS client cert or LDAP credentials passed to the http://<host>:<port>/nifi-registry-api/access/token/login endpoint to obtain a JWT) Short of that, perhaps you could describe the steps to create a flow diff that will recreate this error. Thanks, Kevin On January 10, 2019 at 13:34:41, Russ Weiher (russ.wei...@progenity.com) wrote: > Kevin - > > Here is the full stack trace from the log: > > 2019-01-10 10:10:55,085 ERROR [Version Control Update Thread-1] > org.apache.nifi.web.api.VersionsResource > Failed to update flow to new version > java.lang.IllegalStateException: The input port name or identifier is not > available > to be added. > at > org.apache.nifi.groups.StandardProcessGroup.addInputPort(StandardProcessGroup.java:505) > at > org.apache.nifi.groups.StandardProcessGroup.addInputPort(StandardProcessGroup.java:4051) > at > org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(StandardProcessGroup.java:3565) > at > org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(StandardProcessGroup.java:3528) > at > org.apache.nifi.groups.StandardProcessGroup.updateFlow(StandardProcessGroup.java:3335) > at > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO.updateProcessGroupFlow(StandardProcessGroupDAO.java:273) > at > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$FastClassBySpringCGLIB$$10a99b47.invoke() > 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.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85) > at > org.apache.nifi.audit.ProcessGroupAuditor.updateProcessGroupFlowAdvice(ProcessGroupAuditor.java:258) > at sun.reflect.GeneratedMethodAccessor862.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.dao.impl.StandardProcessGroupDAO$$EnhancerBySpringCGLIB$$cc629156.updateProcessGroupFlow() > at > org.apache.nifi.web.StandardNiFiServiceFacade$13.update(StandardNiFiServiceFacade.java:4382) > at > org.apache.nifi.web.revision.NaiveRevisionManager.updateRevision(NaiveRevisionManager.java:120) > at > org.apache.nifi.web.StandardNiFiServiceFacade.updateProcessGroupContents(StandardNiFiServiceFacade.java:4378) > at > org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLIB$$358780e0.invoke() > 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.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85) > at > org.apache.nifi.web.NiFiServiceFacadeLock.proceedWithWriteLock(NiFiServiceFacadeLock.java:173) > at > org.apache.nifi.web.NiFiServiceFacadeLock.updateLock(NiFiServiceFacadeLock.java:66) > at sun.reflect.GeneratedMethodAccessor557.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$$f3a45649.updateProcessGroupContents() > at > org.apache.nifi.web.api.VersionsResource.updateFlowVersion(VersionsResource.java:1473) > at > org.apache.nifi.web.api.VersionsResource.lambda$null$19(VersionsResource.java:1139) > at > org.apache.nifi.web.api.concurrent.AsyncRequestManager$2.run(AsyncRequestManager.java:109) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > > > Russ Weiher > BI CI Solutions Architect > Progenity, Inc. > > -----Original Message----- > From: Kevin Doran [mailto:kdoran.apa...@gmail.com] > Sent: Thursday, January 10, 2019 11:16 AM > To: users@nifi.apache.org; Russ Weiher > Subject: Re: Java exception when attempting to update version from registry > > Sorry, forgot to add -- can you include the full stack trace for the > IllegalStateException > as well? It should be in the nifi-app.log file. > > Thanks, > Kevin > > > On January 10, 2019 at 11:13:33, Kevin Doran (kdo...@apache.org) wrote: > > Hi Russ, > > > > You mentioned you're using NiFi 1.6. What version of NiFi Registry are > > you running? Is the error message consistent? > > > > What is the sequence of steps you are using to move the flow snapshot > > from DEV to QA? Is it all through the NiFi UI (i.e., both environments > > are pointed to the same NiFi Registry instance, and you save a version > > from DEV and then change version in QA), or is there more to it than that? > > > > I find it interesting that change version is failing but delete and import > > is working... > > That seems to indicate that the flow snapshot is being saved to > > registry correctly and completly, but there is some error in the logic > > of change version that is applying the changes in the wrong order. > > > > I know this may not be super helpful, but you may be running into a > > bug in the Change Version logic that has alreay been fixed in the > > latest version of NiFi. (To others on the mailing list, does that ring > > any bells?) If you're not able to test this on the NiFi 1.8 and Registry > > 0.3, can you provide > the steps to reproduce it so that I can try? > > > > Thanks, > > Kevin > > > > > > On January 10, 2019 at 10:57:19, Russ Weiher (russ.wei...@progenity.com) > > wrote: > > > Hello - > > > > > > > > > > > > I'm trying to move changes from my DEV instance to the QA instance > > > (via the= Registry), but it's giving me the following error: > > > > > > > > > > > > "Failed to update flow to new version due to > > > java.lang.IllegalStateException: The input port name or identifier is not > > > available > to be added." > > > > > > > > > > > > I had a similar issue in the past where it wouldn't update to a new > > > version= , but due to > > deadlines > > > I ended up just deleting the QA version and re-impor= ting the flow from > > > the registry. > > > However, that approach means that dozens o= f variables have to be > > > double checked and/or updated for the new environmen= t (QA and then > > > again for PROD > which gives the same error). > > > > > > > > > > > > If this is going to keep happening, I'd rather try and get to the > > > bottom of= it, but haven't been able to find other examples of > > > people having issues w= hen updating flow versions using the registry. > > > > > > > > > > > > Currently running Nifi version 1.6. > > > > > > > > > Russ Weiher > > > BI CI Solutions Architect > > > Progenity, Inc. > > > > > > 5230 S. State Road > > > Ann Arbor, MI 48108 > > > https://na01.safelinks.protection.outlook.com/?url=www.progenity.com > > > &data=01%7C01%7Cruss.weiher%40progenity.com%7Cee429294932c46e746 > > > aa08d67716d9eb%7C0666349c4979449297792a34e68103b3%7C0&sdata=gLZU > > > %2BH4ahYOuNSCcCKrkF4nOL39gTXhOXLl3KdQ9beM%3D&reserved=0 > > > > > > (734) 794-9488 Office > > > > > > IMPORTANT: This email (and any attachments) is intended for the use > > > of only the person or entity to which it is addressed, and may > > > contain information that is privileged and confidential. You, the > > > recipient, are obligated to maintain it in a safe, secure and > > > confidential manner. Unauthorized redisclosure or failure to > > > maintain confidentiality may subject you to federal and state penalties. > > > If you are > not the intended recipient, please immediately notify us by return email, and > delete > this message from your computer. > > > > > > IMPORTANT: This email (and any attachments) is intended for the use of only > the person > or entity to which it is addressed, and may contain information that is > privileged and > confidential. You, the recipient, are obligated to maintain it in a safe, > secure and > confidential manner. Unauthorized redisclosure or failure to maintain > confidentiality > may subject you to federal and state penalties. If you are not the intended > recipient, > please immediately notify us by return email, and delete this message from > your computer. >