You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@nifi.apache.org by Russ Weiher <Ru...@progenity.com> on 2019/01/10 15:57:07 UTC

Java exception when attempting to update version from registry

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
www.progenity.com<http://www.progenity.com/>

(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.

RE: Java exception when attempting to update version from registry

Posted by Russ Weiher <Ru...@progenity.com>.
Kevin -

(sorry for the delay, still waiting for someone from the DevOps team to pull that log file)

We are currently using Registry version 0.2.0.

In our setup we have DEV, QA, and PROD Nifi instances all pointed to the same instance of the registry.

The sequence of steps I used was:

1. Finish making changes to the Process Group in DEV.
2. Right click -> Version - > Commit local changes
3. Wait for check mark to turn green in the bread crumbs at the bottom of the screen.
4. Open QA Nifi interface
5. Navigate to the Process Group in question and open it
6. Right click -> Version - > Change Version
7. Select the new version I saved from dev

This particular change version is number 32, and I've only had one other issue when moving updates.

Getting a new instance of Nifi running 1.8.0 up and running to test with might be possible, but it's a request that has to go through infrastructure to get a VM spun up, and then devops to get the software installed, so it's unfortunately not something that I can do quickly.


Thanks,
Russ Weiher
Data Engineer
Progenity, Inc.


-----Original Message-----
From: Kevin Doran [mailto:kdoran.apache@gmail.com]
Sent: Thursday, January 10, 2019 11:16 AM
To: users@nifi.apache.org; Russ Weiher <Ru...@progenity.com>
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 (kdoran@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.weiher@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
> > &amp;data=01%7C01%7Cruss.weiher%40progenity.com%7Cee429294932c46e746
> > aa08d67716d9eb%7C0666349c4979449297792a34e68103b3%7C0&amp;sdata=gLZU
> > %2BH4ahYOuNSCcCKrkF4nOL39gTXhOXLl3KdQ9beM%3D&amp;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.

RE: Java exception when attempting to update version from registry

Posted by Kevin Doran <kd...@apache.org>.
Russ,

Actually, I think that would be fine. Mark Payne can chime in and correct me if I'm wrong, but as far as I know, when changing a flow to a new version, not every series of changes is applied, but rather, the diff between the current version and the new version is computed and applied. 

So in this case, if you rename the port that is causing the IllegalStateException to give it a unique name, and then change from the previous version to your newest version (skipoping the offending change that triggers the bug case), it _should_ avoid the issue.

Hope this helps get you past the current blocker!

Kevin


On January 10, 2019 at 16:50:41, Russ Weiher (russ.weiher@progenity.com) wrote:
> Kevin -
>  
> Glad to hear there is a root cause for this. Am I correct in assuming that I won't be able  
> to just rename the offending input port to get this current change pushed out? Basically  
> the "bad thing" is already embedded in the change history of the flow?
>  
> Russ Weiher
> BI CI Solutions Architect
> Progenity, Inc.
>  
>  
> -----Original Message-----
> From: Kevin Doran [mailto:kdoran@apache.org]
> Sent: Thursday, January 10, 2019 4:41 PM
> To: users@nifi.apache.org; Russ Weiher  
> Subject: RE: Java exception when attempting to update version from registry
>  
> Russ,
>  
> The diff was perfect. It showed the problem was two input ports with the same name but different  
> IDs, which I was able to reproduce. Your stack trace and flow diff helped us uncover a bug  
> in our update flow logic -- thanks!
>  
> I verified it still affects the latest version of NiFi and I opened a Jira issue [1] that  
> captures this. Feel free to sign up to ASF Jira to "watch" that issue if you want to see when  
> this gets patched. In the meantime, you can avoid this by avoiding deleting/adding input  
> ports with the same name (during a single version change) within a versioned process  
> group. It's a pretty rare case that should not come up often, so I don't think this should  
> impact your workflow for moving flows from dev to higher envs in general. If you do run  
> into other failures in your workflow, please let us know.
>  
> [1] https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FNIFI-5950&data=01%7C01%7CRuss.Weiher%40progenity.com%7Cb1c40b5ddbbb45dd4ec208d677445b2a%7C0666349c4979449297792a34e68103b3%7C0&sdata=kN4WhTPPOGlO%2FlogPv5BB7716DnzEPyrfkMjSeedQ2E%3D&reserved=0  
>  
> Thanks!
> Kevin
>  
> On January 10, 2019 at 15:45:43, Russ Weiher (russ.weiher@progenity.com) wrote:
> > Kevin -
> >
> > Hopefully the diff will provide some insight. As you have suggested, I
> > don't think I could actually provide the whole flow outside of an established customer  
> support situation.
> >
> > Here is the diff:
> >
> > {
> > "bucketId": "251301de-a141-46f5-b4ac-106e751f0dc9",
> > "componentDifferenceGroups": [
> > {
> > "componentId": "99d38ec9-4c72-3395-9f14-10d6d115f7a8",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "99d38ec9-4c72-3395-9f14-10d6d115f7a8"
> > }
> > ],
> > "processGroupId": "eebc95fc-7381-34a3-84a7-79861d88b3d5"
> > },
> > {
> > "componentId": "4f281a67-5d32-38b1-bb49-071a3005f559",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "4f281a67-5d32-38b1-bb49-071a3005f559"
> > }
> > ],
> > "processGroupId": "eebc95fc-7381-34a3-84a7-79861d88b3d5"
> > },
> > {
> > "componentId": "00088125-f087-3f98-a58a-f4e102f2bc0e",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "00088125-f087-3f98-a58a-f4e102f2bc0e"
> > }
> > ],
> > "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> > },
> > {
> > "componentId": "7a1db67e-5b9f-38df-9fb8-2b4fdf113d45",
> > "componentName": "InvokeHTTP",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "7a1db67e-5b9f-38df-9fb8-2b4fdf113d45"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "6add78e1-41b4-3b17-b588-040d01f38ec0",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "6add78e1-41b4-3b17-b588-040d01f38ec0"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "53fbf44b-0c16-3492-9b70-c6fdc7e3c8e7",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "53fbf44b-0c16-3492-9b70-c6fdc7e3c8e7"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "38390485-ec6a-306b-a9d3-9bbba3bbcbf2",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "38390485-ec6a-306b-a9d3-9bbba3bbcbf2"
> > }
> > ],
> > "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> > },
> > {
> > "componentId": "a36d8b99-48d1-3a87-8aaf-2c59c6affd2d",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "a36d8b99-48d1-3a87-8aaf-2c59c6affd2d"
> > }
> > ],
> > "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> > },
> > {
> > "componentId": "fae582e7-b988-3160-b0c2-29af4ba788e3",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "fae582e7-b988-3160-b0c2-29af4ba788e3"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "af62e20b-ecea-3594-97a9-22b0654462c7",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "af62e20b-ecea-3594-97a9-22b0654462c7"
> > }
> > ],
> > "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> > },
> > {
> > "componentId": "c5a665e6-43a7-34a7-81b7-5bb6bafe7cb7",
> > "componentName": "PutSQS",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "c5a665e6-43a7-34a7-81b7-5bb6bafe7cb7"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "8fbec697-f40f-3137-80de-94ea83772cfb",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection Bendpoints changed",
> > "differenceType": "BENDPOINTS_CHANGED",
> > "differenceTypeDescription": "Connection Bend Points Changed",
> > "valueA": "[]",
> > "valueB": "[[x=777.98486328125, y=232.16993713378906]]"
> > }
> > ],
> > "processGroupId": "0d4ba951-8b74-3ede-83f1-5abb3566705c"
> > },
> > {
> > "componentId": "d57ce50f-190b-3114-8894-d46f43e481bc",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "d57ce50f-190b-3114-8894-d46f43e481bc"
> > }
> > ],
> > "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> > },
> > {
> > "componentId": "56f7279a-4421-36ae-b28f-104016603535",
> > "componentName": "FlowfileInput",
> > "componentType": "Input Port",
> > "differences": [
> > {
> > "changeDescription": "Input Port was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "56f7279a-4421-36ae-b28f-104016603535"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "505f1bfb-dea2-3470-b3cd-dc7243734f86",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "505f1bfb-dea2-3470-b3cd-dc7243734f86"
> > }
> > ],
> > "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> > },
> > {
> > "componentId": "e51db781-262c-391d-88aa-1d49c7a072f6",
> > "componentName": "FlowfileInput",
> > "componentType": "Input Port",
> > "differences": [
> > {
> > "changeDescription": "Position was changed",
> > "differenceType": "POSITION_CHANGED",
> > "differenceTypeDescription": "Position Changed",
> > "valueA": "[x=1519.1632173734577, y=1431.5077914974627]",
> > "valueB": "[x=1612.6143892484577, y=1429.9758090755877]"
> > }
> > ],
> > "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> > },
> > {
> > "componentId": "3c64424c-11cc-331c-9b9b-680c0deea0f2",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "3c64424c-11cc-331c-9b9b-680c0deea0f2"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "0956d167-7818-36c4-8a2e-3596c56b68f0",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection Bendpoints changed",
> > "differenceType": "BENDPOINTS_CHANGED",
> > "differenceTypeDescription": "Connection Bend Points Changed",
> > "valueA": "[[x=2047.692626953125, y=1618.5294189453125]]",
> > "valueB": "[[x=2095.944580078125, y=1588.7569580078125]]"
> > }
> > ],
> > "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> > },
> > {
> > "componentId": "77eb5154-23bd-39a2-8c1d-57ee8220e09b",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "77eb5154-23bd-39a2-8c1d-57ee8220e09b"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "57011f6c-0667-3ed4-add6-0e754ee14d2a",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "57011f6c-0667-3ed4-add6-0e754ee14d2a"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "9416a610-56bf-32d5-a9e2-a8158abe5728",
> > "componentName": "EvaluateJsonPath",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "9416a610-56bf-32d5-a9e2-a8158abe5728"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "20855d76-0fe1-3f2a-9936-ba580d3e2493",
> > "componentName": "UpdateAttribute",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "20855d76-0fe1-3f2a-9936-ba580d3e2493"
> > }
> > ],
> > "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> > },
> > {
> > "componentId": "250abf10-86b6-3d8c-a02a-5474c3bb7e98",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "250abf10-86b6-3d8c-a02a-5474c3bb7e98"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "641896df-1af4-351f-bcd6-009d52961599",
> > "componentName": "FlowfileInput",
> > "componentType": "Input Port",
> > "differences": [
> > {
> > "changeDescription": "Input Port was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "641896df-1af4-351f-bcd6-009d52961599"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "4dd008c1-7ce0-3cce-9622-4edd668172f5",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "4dd008c1-7ce0-3cce-9622-4edd668172f5"
> > }
> > ],
> > "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> > },
> > {
> > "componentId": "93af327e-d129-3bf5-b6cf-c461ae8affa7",
> > "componentName": "ReplaceText - OrderChoiceReportFileInfo",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "93af327e-d129-3bf5-b6cf-c461ae8affa7"
> > }
> > ],
> > "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> > },
> > {
> > "componentId": "cc69de3d-623b-3e43-9e9f-6d2b47ed7bdd",
> > "componentName": "ExtractText",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Position was changed",
> > "differenceType": "POSITION_CHANGED",
> > "differenceTypeDescription": "Position Changed",
> > "valueA": "[x=771.000001306938, y=956.9999859275745]",
> > "valueB": "[x=771.000001306938, y=955.541856044762]"
> > }
> > ],
> > "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> > },
> > {
> > "componentId": "819bb5e2-d98e-3608-8d70-526409c72790",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "819bb5e2-d98e-3608-8d70-526409c72790"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "e7fac33a-b85e-3ec1-ac8a-a2b9d313ab9c",
> > "componentName": "Copia data by date",
> > "componentType": "Process Group",
> > "differences": [
> > {
> > "changeDescription": "Process Group was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "e7fac33a-b85e-3ec1-ac8a-a2b9d313ab9c"
> > }
> > ],
> > "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> > },
> > {
> > "componentId": "48a09a92-3a68-3df6-a4f5-1127f00818e9",
> > "componentName": "ExtractText",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "48a09a92-3a68-3df6-a4f5-1127f00818e9"
> > }
> > ],
> > "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> > },
> > {
> > "componentId": "d1ab68c1-012b-3593-894c-07eab8e40609",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "d1ab68c1-012b-3593-894c-07eab8e40609"
> > }
> > ],
> > "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> > },
> > {
> > "componentId": "b7891358-2726-3331-bc0a-1e7df656dd20",
> > "componentName": "RouteOnAttribute",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "b7891358-2726-3331-bc0a-1e7df656dd20"
> > }
> > ],
> > "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> > },
> > {
> > "componentId": "d4b07045-8676-3a15-9be2-1a368e18d37a",
> > "componentName": "DBCPConnectionPool - Copia",
> > "componentType": "Controller Service",
> > "differences": [
> > {
> > "changeDescription": "Controller Service was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "d4b07045-8676-3a15-9be2-1a368e18d37a"
> > }
> > ],
> > "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> > },
> > {
> > "componentId": "56f9aeba-b936-365f-a623-84089dafc346",
> > "componentName": "",
> > "componentType": "Connection",
> > "differences": [
> > {
> > "changeDescription": "Connection was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "56f9aeba-b936-365f-a623-84089dafc346"
> > }
> > ],
> > "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> > },
> > {
> > "componentId": "3d48d55a-2399-3547-94c6-e6bceb060b8b",
> > "componentName": "Pull workflow Failed Flowcell data",
> > "componentType": "Process Group",
> > "differences": [
> > {
> > "changeDescription": "Position was changed",
> > "differenceType": "POSITION_CHANGED",
> > "differenceTypeDescription": "Position Changed",
> > "valueA": "[x=707.6144944636203, y=1556.2265113483427]",
> > "valueB": "[x=707.6144944636203, y=1554.8850806842802]"
> > }
> > ],
> > "processGroupId": "3040e216-8928-32d8-af34-e37601028f09"
> > },
> > {
> > "componentId": "9108dc02-0f34-37dd-bed3-37edba8463cf",
> > "componentName": "LogAttribute",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was removed",
> > "differenceType": "COMPONENT_REMOVED",
> > "differenceTypeDescription": "Component Removed",
> > "valueA": "9108dc02-0f34-37dd-bed3-37edba8463cf"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "7452ec06-8b6b-3e8f-9723-a5a0f89f8515",
> > "componentName": "FlowfileOutput",
> > "componentType": "Output Port",
> > "differences": [
> > {
> > "changeDescription": "Position was changed",
> > "differenceType": "POSITION_CHANGED",
> > "differenceTypeDescription": "Position Changed",
> > "valueA": "[x=4003.5043958381884, y=905.9025738181995]",
> > "valueB": "[x=4445.327149744438, y=751.337510341637]"
> > }
> > ],
> > "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> > },
> > {
> > "componentId": "6475f071-cf9d-30c2-bad6-7bf73123beec",
> > "componentName": "LogAttribute",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "6475f071-cf9d-30c2-bad6-7bf73123beec"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > },
> > {
> > "componentId": "565001f2-7f05-31ab-97b4-3bc71087ba8c",
> > "componentName": "ReplaceText",
> > "componentType": "Processor",
> > "differences": [
> > {
> > "changeDescription": "Processor was added",
> > "differenceType": "COMPONENT_ADDED",
> > "differenceTypeDescription": "Component Added",
> > "valueB": "565001f2-7f05-31ab-97b4-3bc71087ba8c"
> > }
> > ],
> > "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> > }
> > ],
> > "flowId": "10203333-9b40-4a42-b192-12e7884172a4",
> > "versionA": 32,
> > "versionB": 33
> > }
> >
> > Russ Weiher
> > BI CI Solutions Architect
> > Progenity, Inc.
> >
> >
> > -----Original Message-----
> > From: Kevin Doran [mailto:kdoran.apache@gmail.com]
> > Sent: Thursday, January 10, 2019 3:23 PM
> > To: users@nifi.apache.org; Russ Weiher
> > Subject: RE: Java exception when attempting to update version from
> > registry
> >
> > 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://:/nifi-registry-api/buckets/{bucketId}/flows/{flowId}/diff/{ver  
> > sionA}/{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://:/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.weiher@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(StandardPro
> > > ce
> > > ssGroup.java:505) at
> > > org.apache.nifi.groups.StandardProcessGroup.addInputPort(StandardPro
> > > ce
> > > ssGroup.java:4051) at
> > > org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(Stand
> > > ar
> > > dProcessGroup.java:3565) at
> > > org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(Stand
> > > ar
> > > dProcessGroup.java:3528) at
> > > org.apache.nifi.groups.StandardProcessGroup.updateFlow(StandardProce
> > > ss
> > > Group.java:3335) at
> > > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO.updateProcessGr
> > > ou
> > > pFlow(StandardProcessGroupDAO.java:273)
> > > at
> > > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$FastClassBySpr
> > > in
> > > gCGLIB$$10a99b47.invoke() at
> > > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:
> > > 20
> > > 4) at
> > > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.  
> > > invokeJoinpoint(CglibAopProxy.java:738)
> > > at
> > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > > (R
> > > eflectiveMethodInvocation.java:157)
> > > at
> > > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.
> > > pr
> > > oceed(MethodInvocationProceedingJoinPoint.java:85)
> > > at
> > > org.apache.nifi.audit.ProcessGroupAuditor.updateProcessGroupFlowAdvi
> > > ce
> > > (ProcessGroupAuditor.java:258) at
> > > sun.reflect.GeneratedMethodAccessor862.invoke(Unknown Source) at
> > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > > ss
> > > orImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
> > > at
> > > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMe
> > > th
> > > odWithGivenArgs(AbstractAspectJAdvice.java:629)
> > > at
> > > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMe
> > > th
> > > od(AbstractAspectJAdvice.java:618)
> > > at
> > > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAr
> > > ou
> > > ndAdvice.java:70) at
> > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > > (R
> > > eflectiveMethodInvocation.java:179)
> > > at
> > > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invo
> > > ke
> > > (ExposeInvocationInterceptor.java:92)
> > > at
> > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > > (R
> > > eflectiveMethodInvocation.java:179)
> > > at
> > > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterc
> > > ep
> > > tor.intercept(CglibAopProxy.java:673)
> > > at
> > > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$EnhancerBySpri
> > > ng
> > > CGLIB$$cc629156.updateProcessGroupFlow()
> > > at
> > > org.apache.nifi.web.StandardNiFiServiceFacade$13.update(StandardNiFi
> > > Se
> > > rviceFacade.java:4382) at
> > > org.apache.nifi.web.revision.NaiveRevisionManager.updateRevision(Nai
> > > ve
> > > RevisionManager.java:120) at
> > > org.apache.nifi.web.StandardNiFiServiceFacade.updateProcessGroupCont
> > > en
> > > ts(StandardNiFiServiceFacade.java:4378)
> > > at
> > > org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLI
> > > B$
> > > $358780e0.invoke() at
> > > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:
> > > 20
> > > 4) at
> > > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.  
> > > invokeJoinpoint(CglibAopProxy.java:738)
> > > at
> > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > > (R
> > > eflectiveMethodInvocation.java:157)
> > > at
> > > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.
> > > pr
> > > oceed(MethodInvocationProceedingJoinPoint.java:85)
> > > at
> > > org.apache.nifi.web.NiFiServiceFacadeLock.proceedWithWriteLock(NiFiS
> > > er
> > > viceFacadeLock.java:173) at
> > > org.apache.nifi.web.NiFiServiceFacadeLock.updateLock(NiFiServiceFaca
> > > de
> > > Lock.java:66) at
> > > sun.reflect.GeneratedMethodAccessor557.invoke(Unknown
> > > Source) at
> > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > > ss
> > > orImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
> > > at
> > > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMe
> > > th
> > > odWithGivenArgs(AbstractAspectJAdvice.java:629)
> > > at
> > > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMe
> > > th
> > > od(AbstractAspectJAdvice.java:618)
> > > at
> > > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAr
> > > ou
> > > ndAdvice.java:70) at
> > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > > (R
> > > eflectiveMethodInvocation.java:179)
> > > at
> > > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invo
> > > ke
> > > (ExposeInvocationInterceptor.java:92)
> > > at
> > > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > > (R
> > > eflectiveMethodInvocation.java:179)
> > > at
> > > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterc
> > > ep
> > > tor.intercept(CglibAopProxy.java:673)
> > > at
> > > org.apache.nifi.web.StandardNiFiServiceFacade$$EnhancerBySpringCGLIB
> > > $$
> > > f3a45649.updateProcessGroupContents()
> > > at
> > > org.apache.nifi.web.api.VersionsResource.updateFlowVersion(VersionsR
> > > es
> > > ource.java:1473) at
> > > org.apache.nifi.web.api.VersionsResource.lambda$null$19(VersionsReso
> > > ur
> > > ce.java:1139) at
> > > org.apache.nifi.web.api.concurrent.AsyncRequestManager$2.run(AsyncRe
> > > qu
> > > estManager.java:109) at
> > > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:5
> > > 11
> > > ) at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > > at
> > > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor
> > > .j
> > > ava: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.apache@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 (kdoran@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.weiher@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
> > > > > .c
> > > > > om
> > > > > &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.
> > >
> > 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.  
>  


RE: Java exception when attempting to update version from registry

Posted by Russ Weiher <Ru...@progenity.com>.
Kevin -

Glad to hear there is a root cause for this.   Am I correct in assuming that I won't be able to just rename the offending input port to get this current change pushed out?  Basically the "bad thing" is already embedded in the change history of the flow?

Russ Weiher
BI CI Solutions Architect
Progenity, Inc.


-----Original Message-----
From: Kevin Doran [mailto:kdoran@apache.org]
Sent: Thursday, January 10, 2019 4:41 PM
To: users@nifi.apache.org; Russ Weiher <Ru...@progenity.com>
Subject: RE: Java exception when attempting to update version from registry

Russ,

The diff was perfect. It showed the problem was two input ports with the same name but different IDs, which I was able to reproduce. Your stack trace and flow diff helped us uncover a bug in our update flow logic -- thanks!

I verified it still affects the latest version of NiFi and I opened a Jira issue [1] that captures this. Feel free to sign up to ASF Jira to "watch" that issue if you want to see when this gets patched. In the meantime, you can avoid this by avoiding deleting/adding input ports with the same name (during a single version change) within a versioned process group. It's a pretty rare case that should not come up often, so I don't think this should impact your workflow for moving flows from dev to higher envs in general. If you do run into other failures in your workflow, please let us know.

[1] https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fissues.apache.org%2Fjira%2Fbrowse%2FNIFI-5950&amp;data=01%7C01%7CRuss.Weiher%40progenity.com%7Cb1c40b5ddbbb45dd4ec208d677445b2a%7C0666349c4979449297792a34e68103b3%7C0&amp;sdata=kN4WhTPPOGlO%2FlogPv5BB7716DnzEPyrfkMjSeedQ2E%3D&amp;reserved=0

Thanks!
Kevin

On January 10, 2019 at 15:45:43, Russ Weiher (russ.weiher@progenity.com) wrote:
> Kevin -
>
> Hopefully the diff will provide some insight. As you have suggested, I
> don't think I could actually provide the whole flow outside of an established customer support situation.
>
> Here is the diff:
>
> {
> "bucketId": "251301de-a141-46f5-b4ac-106e751f0dc9",
> "componentDifferenceGroups": [
> {
> "componentId": "99d38ec9-4c72-3395-9f14-10d6d115f7a8",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "99d38ec9-4c72-3395-9f14-10d6d115f7a8"
> }
> ],
> "processGroupId": "eebc95fc-7381-34a3-84a7-79861d88b3d5"
> },
> {
> "componentId": "4f281a67-5d32-38b1-bb49-071a3005f559",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "4f281a67-5d32-38b1-bb49-071a3005f559"
> }
> ],
> "processGroupId": "eebc95fc-7381-34a3-84a7-79861d88b3d5"
> },
> {
> "componentId": "00088125-f087-3f98-a58a-f4e102f2bc0e",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "00088125-f087-3f98-a58a-f4e102f2bc0e"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "7a1db67e-5b9f-38df-9fb8-2b4fdf113d45",
> "componentName": "InvokeHTTP",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "7a1db67e-5b9f-38df-9fb8-2b4fdf113d45"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "6add78e1-41b4-3b17-b588-040d01f38ec0",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "6add78e1-41b4-3b17-b588-040d01f38ec0"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "53fbf44b-0c16-3492-9b70-c6fdc7e3c8e7",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "53fbf44b-0c16-3492-9b70-c6fdc7e3c8e7"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "38390485-ec6a-306b-a9d3-9bbba3bbcbf2",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "38390485-ec6a-306b-a9d3-9bbba3bbcbf2"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "a36d8b99-48d1-3a87-8aaf-2c59c6affd2d",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "a36d8b99-48d1-3a87-8aaf-2c59c6affd2d"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "fae582e7-b988-3160-b0c2-29af4ba788e3",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "fae582e7-b988-3160-b0c2-29af4ba788e3"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "af62e20b-ecea-3594-97a9-22b0654462c7",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "af62e20b-ecea-3594-97a9-22b0654462c7"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "c5a665e6-43a7-34a7-81b7-5bb6bafe7cb7",
> "componentName": "PutSQS",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "c5a665e6-43a7-34a7-81b7-5bb6bafe7cb7"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "8fbec697-f40f-3137-80de-94ea83772cfb",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection Bendpoints changed",
> "differenceType": "BENDPOINTS_CHANGED",
> "differenceTypeDescription": "Connection Bend Points Changed",
> "valueA": "[]",
> "valueB": "[[x=777.98486328125, y=232.16993713378906]]"
> }
> ],
> "processGroupId": "0d4ba951-8b74-3ede-83f1-5abb3566705c"
> },
> {
> "componentId": "d57ce50f-190b-3114-8894-d46f43e481bc",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "d57ce50f-190b-3114-8894-d46f43e481bc"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "56f7279a-4421-36ae-b28f-104016603535",
> "componentName": "FlowfileInput",
> "componentType": "Input Port",
> "differences": [
> {
> "changeDescription": "Input Port was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "56f7279a-4421-36ae-b28f-104016603535"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "505f1bfb-dea2-3470-b3cd-dc7243734f86",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "505f1bfb-dea2-3470-b3cd-dc7243734f86"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "e51db781-262c-391d-88aa-1d49c7a072f6",
> "componentName": "FlowfileInput",
> "componentType": "Input Port",
> "differences": [
> {
> "changeDescription": "Position was changed",
> "differenceType": "POSITION_CHANGED",
> "differenceTypeDescription": "Position Changed",
> "valueA": "[x=1519.1632173734577, y=1431.5077914974627]",
> "valueB": "[x=1612.6143892484577, y=1429.9758090755877]"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "3c64424c-11cc-331c-9b9b-680c0deea0f2",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "3c64424c-11cc-331c-9b9b-680c0deea0f2"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "0956d167-7818-36c4-8a2e-3596c56b68f0",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection Bendpoints changed",
> "differenceType": "BENDPOINTS_CHANGED",
> "differenceTypeDescription": "Connection Bend Points Changed",
> "valueA": "[[x=2047.692626953125, y=1618.5294189453125]]",
> "valueB": "[[x=2095.944580078125, y=1588.7569580078125]]"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "77eb5154-23bd-39a2-8c1d-57ee8220e09b",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "77eb5154-23bd-39a2-8c1d-57ee8220e09b"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "57011f6c-0667-3ed4-add6-0e754ee14d2a",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "57011f6c-0667-3ed4-add6-0e754ee14d2a"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "9416a610-56bf-32d5-a9e2-a8158abe5728",
> "componentName": "EvaluateJsonPath",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "9416a610-56bf-32d5-a9e2-a8158abe5728"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "20855d76-0fe1-3f2a-9936-ba580d3e2493",
> "componentName": "UpdateAttribute",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "20855d76-0fe1-3f2a-9936-ba580d3e2493"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "250abf10-86b6-3d8c-a02a-5474c3bb7e98",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "250abf10-86b6-3d8c-a02a-5474c3bb7e98"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "641896df-1af4-351f-bcd6-009d52961599",
> "componentName": "FlowfileInput",
> "componentType": "Input Port",
> "differences": [
> {
> "changeDescription": "Input Port was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "641896df-1af4-351f-bcd6-009d52961599"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "4dd008c1-7ce0-3cce-9622-4edd668172f5",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "4dd008c1-7ce0-3cce-9622-4edd668172f5"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "93af327e-d129-3bf5-b6cf-c461ae8affa7",
> "componentName": "ReplaceText - OrderChoiceReportFileInfo",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "93af327e-d129-3bf5-b6cf-c461ae8affa7"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "cc69de3d-623b-3e43-9e9f-6d2b47ed7bdd",
> "componentName": "ExtractText",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Position was changed",
> "differenceType": "POSITION_CHANGED",
> "differenceTypeDescription": "Position Changed",
> "valueA": "[x=771.000001306938, y=956.9999859275745]",
> "valueB": "[x=771.000001306938, y=955.541856044762]"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "819bb5e2-d98e-3608-8d70-526409c72790",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "819bb5e2-d98e-3608-8d70-526409c72790"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "e7fac33a-b85e-3ec1-ac8a-a2b9d313ab9c",
> "componentName": "Copia data by date",
> "componentType": "Process Group",
> "differences": [
> {
> "changeDescription": "Process Group was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "e7fac33a-b85e-3ec1-ac8a-a2b9d313ab9c"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "48a09a92-3a68-3df6-a4f5-1127f00818e9",
> "componentName": "ExtractText",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "48a09a92-3a68-3df6-a4f5-1127f00818e9"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "d1ab68c1-012b-3593-894c-07eab8e40609",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "d1ab68c1-012b-3593-894c-07eab8e40609"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "b7891358-2726-3331-bc0a-1e7df656dd20",
> "componentName": "RouteOnAttribute",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "b7891358-2726-3331-bc0a-1e7df656dd20"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "d4b07045-8676-3a15-9be2-1a368e18d37a",
> "componentName": "DBCPConnectionPool - Copia",
> "componentType": "Controller Service",
> "differences": [
> {
> "changeDescription": "Controller Service was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "d4b07045-8676-3a15-9be2-1a368e18d37a"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "56f9aeba-b936-365f-a623-84089dafc346",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "56f9aeba-b936-365f-a623-84089dafc346"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "3d48d55a-2399-3547-94c6-e6bceb060b8b",
> "componentName": "Pull workflow Failed Flowcell data",
> "componentType": "Process Group",
> "differences": [
> {
> "changeDescription": "Position was changed",
> "differenceType": "POSITION_CHANGED",
> "differenceTypeDescription": "Position Changed",
> "valueA": "[x=707.6144944636203, y=1556.2265113483427]",
> "valueB": "[x=707.6144944636203, y=1554.8850806842802]"
> }
> ],
> "processGroupId": "3040e216-8928-32d8-af34-e37601028f09"
> },
> {
> "componentId": "9108dc02-0f34-37dd-bed3-37edba8463cf",
> "componentName": "LogAttribute",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "9108dc02-0f34-37dd-bed3-37edba8463cf"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "7452ec06-8b6b-3e8f-9723-a5a0f89f8515",
> "componentName": "FlowfileOutput",
> "componentType": "Output Port",
> "differences": [
> {
> "changeDescription": "Position was changed",
> "differenceType": "POSITION_CHANGED",
> "differenceTypeDescription": "Position Changed",
> "valueA": "[x=4003.5043958381884, y=905.9025738181995]",
> "valueB": "[x=4445.327149744438, y=751.337510341637]"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "6475f071-cf9d-30c2-bad6-7bf73123beec",
> "componentName": "LogAttribute",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "6475f071-cf9d-30c2-bad6-7bf73123beec"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "565001f2-7f05-31ab-97b4-3bc71087ba8c",
> "componentName": "ReplaceText",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "565001f2-7f05-31ab-97b4-3bc71087ba8c"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> }
> ],
> "flowId": "10203333-9b40-4a42-b192-12e7884172a4",
> "versionA": 32,
> "versionB": 33
> }
>
> Russ Weiher
> BI CI Solutions Architect
> Progenity, Inc.
>
>
> -----Original Message-----
> From: Kevin Doran [mailto:kdoran.apache@gmail.com]
> Sent: Thursday, January 10, 2019 3:23 PM
> To: users@nifi.apache.org; Russ Weiher
> Subject: RE: Java exception when attempting to update version from
> registry
>
> 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://:/nifi-registry-api/buckets/{bucketId}/flows/{flowId}/diff/{ver
> sionA}/{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://:/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.weiher@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(StandardPro
> > ce
> > ssGroup.java:505) at
> > org.apache.nifi.groups.StandardProcessGroup.addInputPort(StandardPro
> > ce
> > ssGroup.java:4051) at
> > org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(Stand
> > ar
> > dProcessGroup.java:3565) at
> > org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(Stand
> > ar
> > dProcessGroup.java:3528) at
> > org.apache.nifi.groups.StandardProcessGroup.updateFlow(StandardProce
> > ss
> > Group.java:3335) at
> > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO.updateProcessGr
> > ou
> > pFlow(StandardProcessGroupDAO.java:273)
> > at
> > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$FastClassBySpr
> > in
> > gCGLIB$$10a99b47.invoke() at
> > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:
> > 20
> > 4) at
> > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
> > invokeJoinpoint(CglibAopProxy.java:738)
> > at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > (R
> > eflectiveMethodInvocation.java:157)
> > at
> > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.
> > pr
> > oceed(MethodInvocationProceedingJoinPoint.java:85)
> > at
> > org.apache.nifi.audit.ProcessGroupAuditor.updateProcessGroupFlowAdvi
> > ce
> > (ProcessGroupAuditor.java:258) at
> > sun.reflect.GeneratedMethodAccessor862.invoke(Unknown Source) at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
> > at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMe
> > th
> > odWithGivenArgs(AbstractAspectJAdvice.java:629)
> > at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMe
> > th
> > od(AbstractAspectJAdvice.java:618)
> > at
> > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAr
> > ou
> > ndAdvice.java:70) at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > (R
> > eflectiveMethodInvocation.java:179)
> > at
> > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invo
> > ke
> > (ExposeInvocationInterceptor.java:92)
> > at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > (R
> > eflectiveMethodInvocation.java:179)
> > at
> > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterc
> > ep
> > tor.intercept(CglibAopProxy.java:673)
> > at
> > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$EnhancerBySpri
> > ng
> > CGLIB$$cc629156.updateProcessGroupFlow()
> > at
> > org.apache.nifi.web.StandardNiFiServiceFacade$13.update(StandardNiFi
> > Se
> > rviceFacade.java:4382) at
> > org.apache.nifi.web.revision.NaiveRevisionManager.updateRevision(Nai
> > ve
> > RevisionManager.java:120) at
> > org.apache.nifi.web.StandardNiFiServiceFacade.updateProcessGroupCont
> > en
> > ts(StandardNiFiServiceFacade.java:4378)
> > at
> > org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLI
> > B$
> > $358780e0.invoke() at
> > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:
> > 20
> > 4) at
> > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
> > invokeJoinpoint(CglibAopProxy.java:738)
> > at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > (R
> > eflectiveMethodInvocation.java:157)
> > at
> > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.
> > pr
> > oceed(MethodInvocationProceedingJoinPoint.java:85)
> > at
> > org.apache.nifi.web.NiFiServiceFacadeLock.proceedWithWriteLock(NiFiS
> > er
> > viceFacadeLock.java:173) at
> > org.apache.nifi.web.NiFiServiceFacadeLock.updateLock(NiFiServiceFaca
> > de
> > Lock.java:66) at
> > sun.reflect.GeneratedMethodAccessor557.invoke(Unknown
> > Source) at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
> > ss
> > orImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
> > at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMe
> > th
> > odWithGivenArgs(AbstractAspectJAdvice.java:629)
> > at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMe
> > th
> > od(AbstractAspectJAdvice.java:618)
> > at
> > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAr
> > ou
> > ndAdvice.java:70) at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > (R
> > eflectiveMethodInvocation.java:179)
> > at
> > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invo
> > ke
> > (ExposeInvocationInterceptor.java:92)
> > at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed
> > (R
> > eflectiveMethodInvocation.java:179)
> > at
> > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterc
> > ep
> > tor.intercept(CglibAopProxy.java:673)
> > at
> > org.apache.nifi.web.StandardNiFiServiceFacade$$EnhancerBySpringCGLIB
> > $$
> > f3a45649.updateProcessGroupContents()
> > at
> > org.apache.nifi.web.api.VersionsResource.updateFlowVersion(VersionsR
> > es
> > ource.java:1473) at
> > org.apache.nifi.web.api.VersionsResource.lambda$null$19(VersionsReso
> > ur
> > ce.java:1139) at
> > org.apache.nifi.web.api.concurrent.AsyncRequestManager$2.run(AsyncRe
> > qu
> > estManager.java:109) at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:5
> > 11
> > ) at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > at
> > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor
> > .j
> > ava: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.apache@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 (kdoran@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.weiher@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
> > > > .c
> > > > om
> > > > &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.
> >
> 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.

RE: Java exception when attempting to update version from registry

Posted by Kevin Doran <kd...@apache.org>.
Russ,

The diff was perfect. It showed the problem was two input ports with the same name but different IDs, which I was able to reproduce. Your stack trace and flow diff helped us uncover a bug in our update flow logic -- thanks! 

I verified it still affects the latest version of NiFi and I opened a Jira issue [1] that captures this. Feel free to sign up to ASF Jira to "watch" that issue if you want to see when this gets patched. In the meantime, you can avoid this by avoiding deleting/adding input ports with the same name (during a single version change) within a versioned process group. It's a pretty rare case that should not come up often, so I don't think this should impact your workflow for moving flows from dev to higher envs in general. If you do run into other failures in your workflow, please let us know.

[1] https://issues.apache.org/jira/browse/NIFI-5950

Thanks!
Kevin

On January 10, 2019 at 15:45:43, Russ Weiher (russ.weiher@progenity.com) wrote:
> Kevin -
>  
> Hopefully the diff will provide some insight. As you have suggested, I don't think I could  
> actually provide the whole flow outside of an established customer support situation.  
>  
> Here is the diff:
>  
> {
> "bucketId": "251301de-a141-46f5-b4ac-106e751f0dc9",
> "componentDifferenceGroups": [
> {
> "componentId": "99d38ec9-4c72-3395-9f14-10d6d115f7a8",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "99d38ec9-4c72-3395-9f14-10d6d115f7a8"
> }
> ],
> "processGroupId": "eebc95fc-7381-34a3-84a7-79861d88b3d5"
> },
> {
> "componentId": "4f281a67-5d32-38b1-bb49-071a3005f559",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "4f281a67-5d32-38b1-bb49-071a3005f559"
> }
> ],
> "processGroupId": "eebc95fc-7381-34a3-84a7-79861d88b3d5"
> },
> {
> "componentId": "00088125-f087-3f98-a58a-f4e102f2bc0e",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "00088125-f087-3f98-a58a-f4e102f2bc0e"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "7a1db67e-5b9f-38df-9fb8-2b4fdf113d45",
> "componentName": "InvokeHTTP",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "7a1db67e-5b9f-38df-9fb8-2b4fdf113d45"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "6add78e1-41b4-3b17-b588-040d01f38ec0",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "6add78e1-41b4-3b17-b588-040d01f38ec0"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "53fbf44b-0c16-3492-9b70-c6fdc7e3c8e7",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "53fbf44b-0c16-3492-9b70-c6fdc7e3c8e7"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "38390485-ec6a-306b-a9d3-9bbba3bbcbf2",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "38390485-ec6a-306b-a9d3-9bbba3bbcbf2"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "a36d8b99-48d1-3a87-8aaf-2c59c6affd2d",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "a36d8b99-48d1-3a87-8aaf-2c59c6affd2d"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "fae582e7-b988-3160-b0c2-29af4ba788e3",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "fae582e7-b988-3160-b0c2-29af4ba788e3"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "af62e20b-ecea-3594-97a9-22b0654462c7",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "af62e20b-ecea-3594-97a9-22b0654462c7"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "c5a665e6-43a7-34a7-81b7-5bb6bafe7cb7",
> "componentName": "PutSQS",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "c5a665e6-43a7-34a7-81b7-5bb6bafe7cb7"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "8fbec697-f40f-3137-80de-94ea83772cfb",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection Bendpoints changed",
> "differenceType": "BENDPOINTS_CHANGED",
> "differenceTypeDescription": "Connection Bend Points Changed",
> "valueA": "[]",
> "valueB": "[[x=777.98486328125, y=232.16993713378906]]"
> }
> ],
> "processGroupId": "0d4ba951-8b74-3ede-83f1-5abb3566705c"
> },
> {
> "componentId": "d57ce50f-190b-3114-8894-d46f43e481bc",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "d57ce50f-190b-3114-8894-d46f43e481bc"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "56f7279a-4421-36ae-b28f-104016603535",
> "componentName": "FlowfileInput",
> "componentType": "Input Port",
> "differences": [
> {
> "changeDescription": "Input Port was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "56f7279a-4421-36ae-b28f-104016603535"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "505f1bfb-dea2-3470-b3cd-dc7243734f86",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "505f1bfb-dea2-3470-b3cd-dc7243734f86"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "e51db781-262c-391d-88aa-1d49c7a072f6",
> "componentName": "FlowfileInput",
> "componentType": "Input Port",
> "differences": [
> {
> "changeDescription": "Position was changed",
> "differenceType": "POSITION_CHANGED",
> "differenceTypeDescription": "Position Changed",
> "valueA": "[x=1519.1632173734577, y=1431.5077914974627]",
> "valueB": "[x=1612.6143892484577, y=1429.9758090755877]"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "3c64424c-11cc-331c-9b9b-680c0deea0f2",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "3c64424c-11cc-331c-9b9b-680c0deea0f2"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "0956d167-7818-36c4-8a2e-3596c56b68f0",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection Bendpoints changed",
> "differenceType": "BENDPOINTS_CHANGED",
> "differenceTypeDescription": "Connection Bend Points Changed",
> "valueA": "[[x=2047.692626953125, y=1618.5294189453125]]",
> "valueB": "[[x=2095.944580078125, y=1588.7569580078125]]"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "77eb5154-23bd-39a2-8c1d-57ee8220e09b",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "77eb5154-23bd-39a2-8c1d-57ee8220e09b"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "57011f6c-0667-3ed4-add6-0e754ee14d2a",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "57011f6c-0667-3ed4-add6-0e754ee14d2a"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "9416a610-56bf-32d5-a9e2-a8158abe5728",
> "componentName": "EvaluateJsonPath",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "9416a610-56bf-32d5-a9e2-a8158abe5728"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "20855d76-0fe1-3f2a-9936-ba580d3e2493",
> "componentName": "UpdateAttribute",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "20855d76-0fe1-3f2a-9936-ba580d3e2493"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "250abf10-86b6-3d8c-a02a-5474c3bb7e98",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "250abf10-86b6-3d8c-a02a-5474c3bb7e98"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "641896df-1af4-351f-bcd6-009d52961599",
> "componentName": "FlowfileInput",
> "componentType": "Input Port",
> "differences": [
> {
> "changeDescription": "Input Port was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "641896df-1af4-351f-bcd6-009d52961599"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "4dd008c1-7ce0-3cce-9622-4edd668172f5",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "4dd008c1-7ce0-3cce-9622-4edd668172f5"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "93af327e-d129-3bf5-b6cf-c461ae8affa7",
> "componentName": "ReplaceText - OrderChoiceReportFileInfo",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "93af327e-d129-3bf5-b6cf-c461ae8affa7"
> }
> ],
> "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
> },
> {
> "componentId": "cc69de3d-623b-3e43-9e9f-6d2b47ed7bdd",
> "componentName": "ExtractText",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Position was changed",
> "differenceType": "POSITION_CHANGED",
> "differenceTypeDescription": "Position Changed",
> "valueA": "[x=771.000001306938, y=956.9999859275745]",
> "valueB": "[x=771.000001306938, y=955.541856044762]"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "819bb5e2-d98e-3608-8d70-526409c72790",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "819bb5e2-d98e-3608-8d70-526409c72790"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "e7fac33a-b85e-3ec1-ac8a-a2b9d313ab9c",
> "componentName": "Copia data by date",
> "componentType": "Process Group",
> "differences": [
> {
> "changeDescription": "Process Group was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "e7fac33a-b85e-3ec1-ac8a-a2b9d313ab9c"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "48a09a92-3a68-3df6-a4f5-1127f00818e9",
> "componentName": "ExtractText",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "48a09a92-3a68-3df6-a4f5-1127f00818e9"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "d1ab68c1-012b-3593-894c-07eab8e40609",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "d1ab68c1-012b-3593-894c-07eab8e40609"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "b7891358-2726-3331-bc0a-1e7df656dd20",
> "componentName": "RouteOnAttribute",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "b7891358-2726-3331-bc0a-1e7df656dd20"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "d4b07045-8676-3a15-9be2-1a368e18d37a",
> "componentName": "DBCPConnectionPool - Copia",
> "componentType": "Controller Service",
> "differences": [
> {
> "changeDescription": "Controller Service was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "d4b07045-8676-3a15-9be2-1a368e18d37a"
> }
> ],
> "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
> },
> {
> "componentId": "56f9aeba-b936-365f-a623-84089dafc346",
> "componentName": "",
> "componentType": "Connection",
> "differences": [
> {
> "changeDescription": "Connection was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "56f9aeba-b936-365f-a623-84089dafc346"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "3d48d55a-2399-3547-94c6-e6bceb060b8b",
> "componentName": "Pull workflow Failed Flowcell data",
> "componentType": "Process Group",
> "differences": [
> {
> "changeDescription": "Position was changed",
> "differenceType": "POSITION_CHANGED",
> "differenceTypeDescription": "Position Changed",
> "valueA": "[x=707.6144944636203, y=1556.2265113483427]",
> "valueB": "[x=707.6144944636203, y=1554.8850806842802]"
> }
> ],
> "processGroupId": "3040e216-8928-32d8-af34-e37601028f09"
> },
> {
> "componentId": "9108dc02-0f34-37dd-bed3-37edba8463cf",
> "componentName": "LogAttribute",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was removed",
> "differenceType": "COMPONENT_REMOVED",
> "differenceTypeDescription": "Component Removed",
> "valueA": "9108dc02-0f34-37dd-bed3-37edba8463cf"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "7452ec06-8b6b-3e8f-9723-a5a0f89f8515",
> "componentName": "FlowfileOutput",
> "componentType": "Output Port",
> "differences": [
> {
> "changeDescription": "Position was changed",
> "differenceType": "POSITION_CHANGED",
> "differenceTypeDescription": "Position Changed",
> "valueA": "[x=4003.5043958381884, y=905.9025738181995]",
> "valueB": "[x=4445.327149744438, y=751.337510341637]"
> }
> ],
> "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
> },
> {
> "componentId": "6475f071-cf9d-30c2-bad6-7bf73123beec",
> "componentName": "LogAttribute",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "6475f071-cf9d-30c2-bad6-7bf73123beec"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> },
> {
> "componentId": "565001f2-7f05-31ab-97b4-3bc71087ba8c",
> "componentName": "ReplaceText",
> "componentType": "Processor",
> "differences": [
> {
> "changeDescription": "Processor was added",
> "differenceType": "COMPONENT_ADDED",
> "differenceTypeDescription": "Component Added",
> "valueB": "565001f2-7f05-31ab-97b4-3bc71087ba8c"
> }
> ],
> "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
> }
> ],
> "flowId": "10203333-9b40-4a42-b192-12e7884172a4",
> "versionA": 32,
> "versionB": 33
> }
>  
> Russ Weiher
> BI CI Solutions Architect
> Progenity, Inc.
>  
>  
> -----Original Message-----
> From: Kevin Doran [mailto:kdoran.apache@gmail.com]
> Sent: Thursday, January 10, 2019 3:23 PM
> To: users@nifi.apache.org; Russ Weiher  
> Subject: RE: Java exception when attempting to update version from registry
>  
> 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://:/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://:/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.weiher@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(StandardProce  
> > ssGroup.java:505) at
> > org.apache.nifi.groups.StandardProcessGroup.addInputPort(StandardProce  
> > ssGroup.java:4051) at
> > org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(Standar  
> > dProcessGroup.java:3565) at
> > org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(Standar  
> > dProcessGroup.java:3528) at
> > org.apache.nifi.groups.StandardProcessGroup.updateFlow(StandardProcess  
> > Group.java:3335) at
> > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO.updateProcessGrou  
> > pFlow(StandardProcessGroupDAO.java:273)
> > at
> > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$FastClassBySprin  
> > gCGLIB$$10a99b47.invoke() at
> > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:20  
> > 4) at
> > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.  
> > invokeJoinpoint(CglibAopProxy.java:738)
> > at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R  
> > eflectiveMethodInvocation.java:157)
> > at
> > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.pr  
> > oceed(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(DelegatingMethodAccess  
> > orImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
> > at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMeth  
> > odWithGivenArgs(AbstractAspectJAdvice.java:629)
> > at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMeth  
> > od(AbstractAspectJAdvice.java:618)
> > at
> > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJArou  
> > ndAdvice.java:70) at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R  
> > eflectiveMethodInvocation.java:179)
> > at
> > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke  
> > (ExposeInvocationInterceptor.java:92)
> > at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R  
> > eflectiveMethodInvocation.java:179)
> > at
> > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedIntercep  
> > tor.intercept(CglibAopProxy.java:673)
> > at
> > org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$EnhancerBySpring  
> > CGLIB$$cc629156.updateProcessGroupFlow()
> > at
> > org.apache.nifi.web.StandardNiFiServiceFacade$13.update(StandardNiFiSe  
> > rviceFacade.java:4382) at
> > org.apache.nifi.web.revision.NaiveRevisionManager.updateRevision(Naive  
> > RevisionManager.java:120) at
> > org.apache.nifi.web.StandardNiFiServiceFacade.updateProcessGroupConten  
> > ts(StandardNiFiServiceFacade.java:4378)
> > at
> > org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLIB$  
> > $358780e0.invoke() at
> > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:20  
> > 4) at
> > org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.  
> > invokeJoinpoint(CglibAopProxy.java:738)
> > at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R  
> > eflectiveMethodInvocation.java:157)
> > at
> > org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.pr  
> > oceed(MethodInvocationProceedingJoinPoint.java:85)
> > at
> > org.apache.nifi.web.NiFiServiceFacadeLock.proceedWithWriteLock(NiFiSer  
> > viceFacadeLock.java:173) at
> > org.apache.nifi.web.NiFiServiceFacadeLock.updateLock(NiFiServiceFacade  
> > Lock.java:66) at sun.reflect.GeneratedMethodAccessor557.invoke(Unknown
> > Source) at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess  
> > orImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
> > at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMeth  
> > odWithGivenArgs(AbstractAspectJAdvice.java:629)
> > at
> > org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMeth  
> > od(AbstractAspectJAdvice.java:618)
> > at
> > org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJArou  
> > ndAdvice.java:70) at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R  
> > eflectiveMethodInvocation.java:179)
> > at
> > org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke  
> > (ExposeInvocationInterceptor.java:92)
> > at
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R  
> > eflectiveMethodInvocation.java:179)
> > at
> > org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedIntercep  
> > tor.intercept(CglibAopProxy.java:673)
> > at
> > org.apache.nifi.web.StandardNiFiServiceFacade$$EnhancerBySpringCGLIB$$  
> > f3a45649.updateProcessGroupContents()
> > at
> > org.apache.nifi.web.api.VersionsResource.updateFlowVersion(VersionsRes  
> > ource.java:1473) at
> > org.apache.nifi.web.api.VersionsResource.lambda$null$19(VersionsResour  
> > ce.java:1139) at
> > org.apache.nifi.web.api.concurrent.AsyncRequestManager$2.run(AsyncRequ  
> > estManager.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.j  
> > ava: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.apache@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 (kdoran@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.weiher@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.c
> > > > om
> > > > &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.
> >
> 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.  
>  


RE: Java exception when attempting to update version from registry

Posted by Russ Weiher <Ru...@progenity.com>.
Kevin -

Hopefully the diff will provide some insight.  As you have suggested, I don't think I could actually provide the whole flow outside of an established customer support situation.

Here is the diff:

{
  "bucketId": "251301de-a141-46f5-b4ac-106e751f0dc9",
  "componentDifferenceGroups": [
    {
      "componentId": "99d38ec9-4c72-3395-9f14-10d6d115f7a8",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "99d38ec9-4c72-3395-9f14-10d6d115f7a8"
        }
      ],
      "processGroupId": "eebc95fc-7381-34a3-84a7-79861d88b3d5"
    },
    {
      "componentId": "4f281a67-5d32-38b1-bb49-071a3005f559",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "4f281a67-5d32-38b1-bb49-071a3005f559"
        }
      ],
      "processGroupId": "eebc95fc-7381-34a3-84a7-79861d88b3d5"
    },
    {
      "componentId": "00088125-f087-3f98-a58a-f4e102f2bc0e",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "00088125-f087-3f98-a58a-f4e102f2bc0e"
        }
      ],
      "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
    },
    {
      "componentId": "7a1db67e-5b9f-38df-9fb8-2b4fdf113d45",
      "componentName": "InvokeHTTP",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "7a1db67e-5b9f-38df-9fb8-2b4fdf113d45"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "6add78e1-41b4-3b17-b588-040d01f38ec0",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "6add78e1-41b4-3b17-b588-040d01f38ec0"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "53fbf44b-0c16-3492-9b70-c6fdc7e3c8e7",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "53fbf44b-0c16-3492-9b70-c6fdc7e3c8e7"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "38390485-ec6a-306b-a9d3-9bbba3bbcbf2",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "38390485-ec6a-306b-a9d3-9bbba3bbcbf2"
        }
      ],
      "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
    },
    {
      "componentId": "a36d8b99-48d1-3a87-8aaf-2c59c6affd2d",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "a36d8b99-48d1-3a87-8aaf-2c59c6affd2d"
        }
      ],
      "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
    },
    {
      "componentId": "fae582e7-b988-3160-b0c2-29af4ba788e3",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "fae582e7-b988-3160-b0c2-29af4ba788e3"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "af62e20b-ecea-3594-97a9-22b0654462c7",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "af62e20b-ecea-3594-97a9-22b0654462c7"
        }
      ],
      "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
    },
    {
      "componentId": "c5a665e6-43a7-34a7-81b7-5bb6bafe7cb7",
      "componentName": "PutSQS",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "c5a665e6-43a7-34a7-81b7-5bb6bafe7cb7"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "8fbec697-f40f-3137-80de-94ea83772cfb",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection Bendpoints changed",
          "differenceType": "BENDPOINTS_CHANGED",
          "differenceTypeDescription": "Connection Bend Points Changed",
          "valueA": "[]",
          "valueB": "[[x=777.98486328125, y=232.16993713378906]]"
        }
      ],
      "processGroupId": "0d4ba951-8b74-3ede-83f1-5abb3566705c"
    },
    {
      "componentId": "d57ce50f-190b-3114-8894-d46f43e481bc",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "d57ce50f-190b-3114-8894-d46f43e481bc"
        }
      ],
      "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
    },
    {
      "componentId": "56f7279a-4421-36ae-b28f-104016603535",
      "componentName": "FlowfileInput",
      "componentType": "Input Port",
      "differences": [
        {
          "changeDescription": "Input Port was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "56f7279a-4421-36ae-b28f-104016603535"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "505f1bfb-dea2-3470-b3cd-dc7243734f86",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "505f1bfb-dea2-3470-b3cd-dc7243734f86"
        }
      ],
      "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
    },
    {
      "componentId": "e51db781-262c-391d-88aa-1d49c7a072f6",
      "componentName": "FlowfileInput",
      "componentType": "Input Port",
      "differences": [
        {
          "changeDescription": "Position was changed",
          "differenceType": "POSITION_CHANGED",
          "differenceTypeDescription": "Position Changed",
          "valueA": "[x=1519.1632173734577, y=1431.5077914974627]",
          "valueB": "[x=1612.6143892484577, y=1429.9758090755877]"
        }
      ],
      "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
    },
    {
      "componentId": "3c64424c-11cc-331c-9b9b-680c0deea0f2",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "3c64424c-11cc-331c-9b9b-680c0deea0f2"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "0956d167-7818-36c4-8a2e-3596c56b68f0",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection Bendpoints changed",
          "differenceType": "BENDPOINTS_CHANGED",
          "differenceTypeDescription": "Connection Bend Points Changed",
          "valueA": "[[x=2047.692626953125, y=1618.5294189453125]]",
          "valueB": "[[x=2095.944580078125, y=1588.7569580078125]]"
        }
      ],
      "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
    },
    {
      "componentId": "77eb5154-23bd-39a2-8c1d-57ee8220e09b",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "77eb5154-23bd-39a2-8c1d-57ee8220e09b"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "57011f6c-0667-3ed4-add6-0e754ee14d2a",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "57011f6c-0667-3ed4-add6-0e754ee14d2a"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "9416a610-56bf-32d5-a9e2-a8158abe5728",
      "componentName": "EvaluateJsonPath",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "9416a610-56bf-32d5-a9e2-a8158abe5728"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "20855d76-0fe1-3f2a-9936-ba580d3e2493",
      "componentName": "UpdateAttribute",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "20855d76-0fe1-3f2a-9936-ba580d3e2493"
        }
      ],
      "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
    },
    {
      "componentId": "250abf10-86b6-3d8c-a02a-5474c3bb7e98",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "250abf10-86b6-3d8c-a02a-5474c3bb7e98"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "641896df-1af4-351f-bcd6-009d52961599",
      "componentName": "FlowfileInput",
      "componentType": "Input Port",
      "differences": [
        {
          "changeDescription": "Input Port was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "641896df-1af4-351f-bcd6-009d52961599"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "4dd008c1-7ce0-3cce-9622-4edd668172f5",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "4dd008c1-7ce0-3cce-9622-4edd668172f5"
        }
      ],
      "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
    },
    {
      "componentId": "93af327e-d129-3bf5-b6cf-c461ae8affa7",
      "componentName": "ReplaceText - OrderChoiceReportFileInfo",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "93af327e-d129-3bf5-b6cf-c461ae8affa7"
        }
      ],
      "processGroupId": "1116ed97-c7f7-3776-a2c4-82c5e7fd298d"
    },
    {
      "componentId": "cc69de3d-623b-3e43-9e9f-6d2b47ed7bdd",
      "componentName": "ExtractText",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Position was changed",
          "differenceType": "POSITION_CHANGED",
          "differenceTypeDescription": "Position Changed",
          "valueA": "[x=771.000001306938, y=956.9999859275745]",
          "valueB": "[x=771.000001306938, y=955.541856044762]"
        }
      ],
      "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
    },
    {
      "componentId": "819bb5e2-d98e-3608-8d70-526409c72790",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "819bb5e2-d98e-3608-8d70-526409c72790"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "e7fac33a-b85e-3ec1-ac8a-a2b9d313ab9c",
      "componentName": "Copia data by date",
      "componentType": "Process Group",
      "differences": [
        {
          "changeDescription": "Process Group was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "e7fac33a-b85e-3ec1-ac8a-a2b9d313ab9c"
        }
      ],
      "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
    },
    {
      "componentId": "48a09a92-3a68-3df6-a4f5-1127f00818e9",
      "componentName": "ExtractText",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "48a09a92-3a68-3df6-a4f5-1127f00818e9"
        }
      ],
      "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
    },
    {
      "componentId": "d1ab68c1-012b-3593-894c-07eab8e40609",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "d1ab68c1-012b-3593-894c-07eab8e40609"
        }
      ],
      "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
    },
    {
      "componentId": "b7891358-2726-3331-bc0a-1e7df656dd20",
      "componentName": "RouteOnAttribute",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "b7891358-2726-3331-bc0a-1e7df656dd20"
        }
      ],
      "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
    },
    {
      "componentId": "d4b07045-8676-3a15-9be2-1a368e18d37a",
      "componentName": "DBCPConnectionPool - Copia",
      "componentType": "Controller Service",
      "differences": [
        {
          "changeDescription": "Controller Service was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "d4b07045-8676-3a15-9be2-1a368e18d37a"
        }
      ],
      "processGroupId": "4ec2bdf2-11dc-3135-8218-e7714e998826"
    },
    {
      "componentId": "56f9aeba-b936-365f-a623-84089dafc346",
      "componentName": "",
      "componentType": "Connection",
      "differences": [
        {
          "changeDescription": "Connection was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "56f9aeba-b936-365f-a623-84089dafc346"
        }
      ],
      "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
    },
    {
      "componentId": "3d48d55a-2399-3547-94c6-e6bceb060b8b",
      "componentName": "Pull workflow Failed Flowcell data",
      "componentType": "Process Group",
      "differences": [
        {
          "changeDescription": "Position was changed",
          "differenceType": "POSITION_CHANGED",
          "differenceTypeDescription": "Position Changed",
          "valueA": "[x=707.6144944636203, y=1556.2265113483427]",
          "valueB": "[x=707.6144944636203, y=1554.8850806842802]"
        }
      ],
      "processGroupId": "3040e216-8928-32d8-af34-e37601028f09"
    },
    {
      "componentId": "9108dc02-0f34-37dd-bed3-37edba8463cf",
      "componentName": "LogAttribute",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was removed",
          "differenceType": "COMPONENT_REMOVED",
          "differenceTypeDescription": "Component Removed",
          "valueA": "9108dc02-0f34-37dd-bed3-37edba8463cf"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "7452ec06-8b6b-3e8f-9723-a5a0f89f8515",
      "componentName": "FlowfileOutput",
      "componentType": "Output Port",
      "differences": [
        {
          "changeDescription": "Position was changed",
          "differenceType": "POSITION_CHANGED",
          "differenceTypeDescription": "Position Changed",
          "valueA": "[x=4003.5043958381884, y=905.9025738181995]",
          "valueB": "[x=4445.327149744438, y=751.337510341637]"
        }
      ],
      "processGroupId": "1785e36e-6b5d-3451-b3bc-465ab0f21e81"
    },
    {
      "componentId": "6475f071-cf9d-30c2-bad6-7bf73123beec",
      "componentName": "LogAttribute",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "6475f071-cf9d-30c2-bad6-7bf73123beec"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    },
    {
      "componentId": "565001f2-7f05-31ab-97b4-3bc71087ba8c",
      "componentName": "ReplaceText",
      "componentType": "Processor",
      "differences": [
        {
          "changeDescription": "Processor was added",
          "differenceType": "COMPONENT_ADDED",
          "differenceTypeDescription": "Component Added",
          "valueB": "565001f2-7f05-31ab-97b4-3bc71087ba8c"
        }
      ],
      "processGroupId": "b1eea430-4d05-381d-99b1-4ea4d1d567bf"
    }
  ],
  "flowId": "10203333-9b40-4a42-b192-12e7884172a4",
  "versionA": 32,
  "versionB": 33
}

Russ Weiher
BI CI Solutions Architect
Progenity, Inc.


-----Original Message-----
From: Kevin Doran [mailto:kdoran.apache@gmail.com]
Sent: Thursday, January 10, 2019 3:23 PM
To: users@nifi.apache.org; Russ Weiher <Ru...@progenity.com>
Subject: RE: Java exception when attempting to update version from registry

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.weiher@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(StandardProce
> ssGroup.java:505) at
> org.apache.nifi.groups.StandardProcessGroup.addInputPort(StandardProce
> ssGroup.java:4051) at
> org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(Standar
> dProcessGroup.java:3565) at
> org.apache.nifi.groups.StandardProcessGroup.updateProcessGroup(Standar
> dProcessGroup.java:3528) at
> org.apache.nifi.groups.StandardProcessGroup.updateFlow(StandardProcess
> Group.java:3335) at
> org.apache.nifi.web.dao.impl.StandardProcessGroupDAO.updateProcessGrou
> pFlow(StandardProcessGroupDAO.java:273)
> at
> org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$FastClassBySprin
> gCGLIB$$10a99b47.invoke() at
> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:20
> 4) at
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
> invokeJoinpoint(CglibAopProxy.java:738)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:157)
> at
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.pr
> oceed(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(DelegatingMethodAccess
> orImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMeth
> odWithGivenArgs(AbstractAspectJAdvice.java:629)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMeth
> od(AbstractAspectJAdvice.java:618)
> at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJArou
> ndAdvice.java:70) at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:179)
> at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke
> (ExposeInvocationInterceptor.java:92)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:179)
> at
> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedIntercep
> tor.intercept(CglibAopProxy.java:673)
> at
> org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$EnhancerBySpring
> CGLIB$$cc629156.updateProcessGroupFlow()
> at
> org.apache.nifi.web.StandardNiFiServiceFacade$13.update(StandardNiFiSe
> rviceFacade.java:4382) at
> org.apache.nifi.web.revision.NaiveRevisionManager.updateRevision(Naive
> RevisionManager.java:120) at
> org.apache.nifi.web.StandardNiFiServiceFacade.updateProcessGroupConten
> ts(StandardNiFiServiceFacade.java:4378)
> at
> org.apache.nifi.web.StandardNiFiServiceFacade$$FastClassBySpringCGLIB$
> $358780e0.invoke() at
> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:20
> 4) at
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.
> invokeJoinpoint(CglibAopProxy.java:738)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:157)
> at
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.pr
> oceed(MethodInvocationProceedingJoinPoint.java:85)
> at
> org.apache.nifi.web.NiFiServiceFacadeLock.proceedWithWriteLock(NiFiSer
> viceFacadeLock.java:173) at
> org.apache.nifi.web.NiFiServiceFacadeLock.updateLock(NiFiServiceFacade
> Lock.java:66) at sun.reflect.GeneratedMethodAccessor557.invoke(Unknown
> Source) at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMeth
> odWithGivenArgs(AbstractAspectJAdvice.java:629)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMeth
> od(AbstractAspectJAdvice.java:618)
> at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJArou
> ndAdvice.java:70) at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:179)
> at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke
> (ExposeInvocationInterceptor.java:92)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:179)
> at
> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedIntercep
> tor.intercept(CglibAopProxy.java:673)
> at
> org.apache.nifi.web.StandardNiFiServiceFacade$$EnhancerBySpringCGLIB$$
> f3a45649.updateProcessGroupContents()
> at
> org.apache.nifi.web.api.VersionsResource.updateFlowVersion(VersionsRes
> ource.java:1473) at
> org.apache.nifi.web.api.VersionsResource.lambda$null$19(VersionsResour
> ce.java:1139) at
> org.apache.nifi.web.api.concurrent.AsyncRequestManager$2.run(AsyncRequ
> estManager.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.j
> ava: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.apache@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 (kdoran@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.weiher@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.c
> > > om
> > > &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.
>
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.

RE: Java exception when attempting to update version from registry

Posted by Kevin Doran <kd...@gmail.com>.
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.weiher@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.apache@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 (kdoran@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.weiher@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.
>

RE: Java exception when attempting to update version from registry

Posted by Russ Weiher <Ru...@progenity.com>.
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(<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.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(<generated>)
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(<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.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(<generated>)
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.apache@gmail.com]
Sent: Thursday, January 10, 2019 11:16 AM
To: users@nifi.apache.org; Russ Weiher <Ru...@progenity.com>
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 (kdoran@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.weiher@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
> > &amp;data=01%7C01%7Cruss.weiher%40progenity.com%7Cee429294932c46e746
> > aa08d67716d9eb%7C0666349c4979449297792a34e68103b3%7C0&amp;sdata=gLZU
> > %2BH4ahYOuNSCcCKrkF4nOL39gTXhOXLl3KdQ9beM%3D&amp;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.

Re: Java exception when attempting to update version from registry

Posted by Kevin Doran <kd...@gmail.com>.
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 (kdoran@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.weiher@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
> > www.progenity.com
> >
> > (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.
> >
>

Re: Java exception when attempting to update version from registry

Posted by Kevin Doran <kd...@apache.org>.
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.weiher@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
> www.progenity.com
>  
> (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.  
>