Support Questions

Find answers, ask questions, and share your expertise

Continuously Flow initializing after upgrade from 1.11.4 to 1.23.0

avatar
Explorer

I has NiFi 1.11.4 installed on 3 nodes cluster. I installed the new version of NiFi 1.23.0 in a nearby directory

Moved config files:

  • nifi.properties rolled over Ansible
  • autorizations.xml copied from the old version
  • jks files copied from the old version
  • flow.xml.gz copied from the old version

Updated sensitive properties:

 

sudo ../bin/nifi.sh set-sensitive-properties-key 'key'
sudo ../bin/nifi.sh set-sensitive-properties-algorithm NIFI_PBKDF2_AES_GCM_256

 


What does this mean when I do update flow with sensitive props? Flow Configuration Property not specified [null]

And now both my versions of NiFi could not initialize it flow, no exceptions or critical errors in logs i've found, some was fixed but nothing helps
Cluster coordinator is elected successfully, Zookeeper is available.
No any logs in nifi-processors.logs, no any updates on directories for provenance, flowfile, content.

I enabled TRACE logs and on Initializing I see only this continuously:

2023-08-23 14:03:20,513 TRACE [Load-Balanced Client Thread-8] o.a.n.c.q.c.c.a.n.NioAsyncLoadBalanceClientTask Was unable to communicate with any client. Will sleep for 10 milliseconds.

I've got continuously Flow initializing could you help me?
What am I missing?

1 ACCEPTED SOLUTION

avatar
Explorer

Thank you for your response MattWho!

I didn't just copy configuration files between versions. I did update core configuration files such as nifi.properties and manage it through Ansible. I just copied certificates (jks), flow.xml.gz (flow file) and authorizations.xml (to save my permissions, it is not related to the flow initialization I guess).

Anyway I listen to your recommendations and setup it clearly with fully updated files without any of configuration files from previous versions but no luck. My Flow still cannot be initialized.

 

At least my previous version 1.11.4 won't start with that flow.xml.gz too unfortunately. Seems it some broken there, but I have no clue. One thing I could markup that I installed and used ProtobufProcessor.


I have backup flow file behind two months ago and it's worked. I updated NiFi cluster to 1.23.0 and seems its all okay now.

View solution in original post

3 REPLIES 3

avatar
Explorer

https://wetransfer.com/downloads/c39ec4b6c7435824f883548825be1f9b20230823081945/5e8dfde733816f26c2e4...

3 items
 
nifi-app.log
2.42 MB
nifi-bootstrap.log
11 KB
nifi-user.log
133 KB



avatar
Master Mentor

@pashtet04 

There is a significant jump in version from NiFi 1.11.4 to 1.23.0
As with any upgrade/migration, you should NOT be just copying core configuration files from old version to new version.  You should instead use the old configuration files to update the new configuration files as those new configuration files would have introduced new properties that would then be missing if you simply copied old to new.  

NiFi 1.11.4 loaded a flow.xml.gz file on startup.  With release of NiFi 1.16, NiFi introduced a new flow storage format using flow.json.gz (which also introduced a new property in the nifi.properties file: "nifi.flow.configuration.json.file").  1.16 and later version will still load from the flow.xml.gz file if a flow.json.gz is not present and then generate the flow.json.gz file which will be used for all subsequent launches starting with 1.18+ version.  

I am guessing your exception about flow configuration file [NULL] comes from missing configuration property in the nifi.properties you copied over.  This may have also resulted in a failure to convert the flow.xml.gz??? 

I'd recommend re-copying over your original flow.xml.gz, utilize old config files to populate new config files to avoid missing properties, start NiFi 1.23 first time using original sensitive props key and sensitive props algorithm so that the flow.json.gz gets generated.  Then use the nifi.sh commands to change the sensitive props key and sensitive key algorithm.

If you don't know your original sensitive props key, you could use the Encrypt-config toolkit to change it as an alternative to the nifi.sh commands.

If you found that the provided solution(s) assisted you with your query, please take a moment to login and click Accept as Solution below each response that helped.

Thank you,

Matt

avatar
Explorer

Thank you for your response MattWho!

I didn't just copy configuration files between versions. I did update core configuration files such as nifi.properties and manage it through Ansible. I just copied certificates (jks), flow.xml.gz (flow file) and authorizations.xml (to save my permissions, it is not related to the flow initialization I guess).

Anyway I listen to your recommendations and setup it clearly with fully updated files without any of configuration files from previous versions but no luck. My Flow still cannot be initialized.

 

At least my previous version 1.11.4 won't start with that flow.xml.gz too unfortunately. Seems it some broken there, but I have no clue. One thing I could markup that I installed and used ProtobufProcessor.


I have backup flow file behind two months ago and it's worked. I updated NiFi cluster to 1.23.0 and seems its all okay now.