Github user joewitt commented on the issue:

    https://github.com/apache/nifi/pull/1583
  
    @josephxsxn unfortunately making the change this way would be rather 
disruptive to existing flows.  We learned this lesson on PropertyDescriptor 
object and for that we added an additional characteristic called 'displayName'. 
 What I'm suggesting is we do the same for Relationship.
    
    By adding a 'displayName' we can allow developers to change/tweak that over 
time whereas the 'name' cannot change once it is put out in a release unless 
the change is made during a major release cycle and even then we should try to 
minimize the frequency since it can make porting flows harder.
    
    The bottom line is the 'name' is an important part of how we establish the 
persistent knowledge of a connection between two components.  If you look in 
the flow.xml.gz of a flow with a connection you'll see the 'relationship' and 
in it is the name of the source processors relationship used in that 
connection.  So, changing the 'name' breaks old flows.  We can instead add 
'displayName' and now that value is what will show up in the UI but is not what 
is used for underlying persistence.  By default the displayName if not set will 
be whatever the name was (and vice versa) in the code just like 
PropertyDescriptor but over time the value of name and displayName can diverge 
and that will be ok provided the Relationship still means what it meant before.
    
    I'll stop rambling.  Does this make sense?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to