We have come across an issue around updating existing flows that are currently 
running in production.


  1.  We can stop the flows and deploy the entire new flow with all of the 
custom processors and all other changes.
     *   Issues

                                                               i.      Data can 
be lost during the time of deployment

                                                             ii.      How will 
this affect the provenance data – can we reattach to existing data with no 
issues, do we need to keep the flow and content data also and reattach that 
data to the newly installed instances

                                                           iii.      For a 
cluster how will this affect the zookeeper if at all

                                                           iv.      State 
between processors, will removing the state have any unforeseen issues

     *   Solutions for Streaming Flows & some batch flows

                                                               i.      Add a 
buffer or Queue using Kafka or some other queue that will allow stopping of the 
data into Nifi while we make the changes to the live flow – works as if we had 
a connection at the start of every flow

  1.  We can do a live flow deployment using the nifi registry and api and cli, 
by upgrading each modified part of the flow piece by piece, we can stop the 
queue before the first change and make changes and restart the flow, this will 
avoid the loss of data that we will see with the first method
     *   Issues

                                                               i.      Custom 
controller service – nypiapi has some tools around starting and stopping the 
controllers and services will this address the service name issues when 
changing a controller

                                                             ii.      This can 
get very complicates when the flow has multiple changes that are needed

                                                           iii.      There will 
be much more places where we can have a failure in this automated system

                                                           iv.      Are there 
any flow changes that we cannot accomplish on a live flow?

     *   Pros

                                                               i.      The 
validation that occurs when using the registry to deploy into a live flow will 
stop the deployment if this is a breaking change, hopefully that would help 
avoid issues with the deployments

I was hoping that there are some best practices around updating flows that are 
in production, or what has worked for others and what did not.


________________________________

The information contained in this message is intended only for the recipient, 
and may be a confidential attorney-client communication or may otherwise be 
privileged and confidential and protected from disclosure. If the reader of 
this message is not the intended recipient, or an employee or agent responsible 
for delivering this message to the intended recipient, please be aware that any 
dissemination or copying of this communication is strictly prohibited. If you 
have received this communication in error, please immediately notify us by 
replying to the message and deleting it from your computer. S&P Global Inc. 
reserves the right, subject to applicable local law, to monitor, review and 
process the content of any electronic message or information sent to or from 
S&P Global Inc. e-mail addresses without informing the sender or recipient of 
the message. By sending electronic message or information to S&P Global Inc. 
e-mail addresses you, as the sender, are consenting to S&P Global Inc. 
processing any of your personal data therein.

Reply via email to