[
https://issues.apache.org/jira/browse/NIFI-3509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joseph Percivall updated NIFI-3509:
-----------------------------------
Description:
Creating templates of components created via a template can result in two
components with the same MSB (which should never happen). This causes all sorts
of flow related problems including relationships getting messed up.
Update: The original description was missing some step related to templates.
See the comments for more insight.
---------
Using the following steps I was able to create a template which instantiates
with connections from one input port to another input port of another PG. See
the template here[1].
See the first attached screenshot for the seed flow. After importing, it
originally gives an error "Cannot add Connection to Process Group because its
destination does not belong to this Process Group" and nothing appears to be
added but after I refresh the canvas parts of the original flow appear
(screenshot 2 and 3).
What is most odd, is that there are connections going from the input port
"input" of pg "test" to the input ports of other PGs. I didn't think that was
possible.
The steps I used to create it:
1: create a PG "test" with input port "input", UpdateAttribute and output port
"output". Creating connections between them.
2: Go to Parent group and copy "test".
3: Go back into "test" and paste.
4: Copy and paste "test" multiple times, creating the flow.
5: Create a template of the flow
6: When using the template, see the issue described.
The root cause of the issues, I believe, is that the id for the parent group
starts with "f3ac1eb5-1010-115a" and when I copied and pasted "test" into
itself it created the "test" pg with an id starting with the same value.
[1] https://gist.github.com/JPercivall/923519ef09500886c50a8f574f7662ca
was:
Using the following steps I was able to create a template which instantiates
with connections from one input port to another input port of another PG. See
the template here[1].
See the first attached screenshot for the seed flow. After importing, it
originally gives an error "Cannot add Connection to Process Group because its
destination does not belong to this Process Group" and nothing appears to be
added but after I refresh the canvas parts of the original flow appear
(screenshot 2 and 3).
What is most odd, is that there are connections going from the input port
"input" of pg "test" to the input ports of other PGs. I didn't think that was
possible.
The steps I used to create it:
1: create a PG "test" with input port "input", UpdateAttribute and output port
"output". Creating connections between them.
2: Go to Parent group and copy "test".
3: Go back into "test" and paste.
4: Copy and paste "test" multiple times, creating the flow.
5: Create a template of the flow
6: When using the template, see the issue described.
The root cause of the issues, I believe, is that the id for the parent group
starts with "f3ac1eb5-1010-115a" and when I copied and pasted "test" into
itself it created the "test" pg with an id starting with the same value.
[1] https://gist.github.com/JPercivall/923519ef09500886c50a8f574f7662ca
> Creating templates of Components created using templates can cause issues
> --------------------------------------------------------------------------
>
> Key: NIFI-3509
> URL: https://issues.apache.org/jira/browse/NIFI-3509
> Project: Apache NiFi
> Issue Type: Bug
> Affects Versions: 1.1.1
> Reporter: Joseph Percivall
> Assignee: Oleg Zhurakousky
> Priority: Critical
> Fix For: 1.2.0
>
> Attachments: Screen Shot 2017-02-20 at 7.38.49 PM.png, Screen Shot
> 2017-02-20 at 7.53.21 PM.png, Screen Shot 2017-02-20 at 7.53.34 PM.png,
> templatesForNIFI-3509.zip
>
>
> Creating templates of components created via a template can result in two
> components with the same MSB (which should never happen). This causes all
> sorts of flow related problems including relationships getting messed up.
> Update: The original description was missing some step related to templates.
> See the comments for more insight.
> ---------
> Using the following steps I was able to create a template which instantiates
> with connections from one input port to another input port of another PG. See
> the template here[1].
> See the first attached screenshot for the seed flow. After importing, it
> originally gives an error "Cannot add Connection to Process Group because its
> destination does not belong to this Process Group" and nothing appears to be
> added but after I refresh the canvas parts of the original flow appear
> (screenshot 2 and 3).
> What is most odd, is that there are connections going from the input port
> "input" of pg "test" to the input ports of other PGs. I didn't think that was
> possible.
> The steps I used to create it:
> 1: create a PG "test" with input port "input", UpdateAttribute and output
> port "output". Creating connections between them.
> 2: Go to Parent group and copy "test".
> 3: Go back into "test" and paste.
> 4: Copy and paste "test" multiple times, creating the flow.
> 5: Create a template of the flow
> 6: When using the template, see the issue described.
> The root cause of the issues, I believe, is that the id for the parent group
> starts with "f3ac1eb5-1010-115a" and when I copied and pasted "test" into
> itself it created the "test" pg with an id starting with the same value.
> [1] https://gist.github.com/JPercivall/923519ef09500886c50a8f574f7662ca
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)