What breaks when moving between NiFi 2.x minor versions such as 2.4 to 2.12: removed properties, renamed component properties in 2.7, the Jolt library change in 2.8, RecordPath type fixes in 2.10 and DNS hostnames required for TLS cluster traffic in 2.12.
Moving reusable flows off XML templates, which NiFi deprecated in 1.14.0, to JSON flow definitions and version-controlled process groups before upgrading to NiFi 2, including how to export, store and re-import them.
Replacing the variable registry, removed in NiFi 2.0, with parameter contexts and the ENVIRONMENT expression language scope: finding variable references in flows, sensitive values, inheritance and testing promoted flows.
Planning for flows that use components removed from NiFi 2, such as Hive, HBase, Kudu, Cassandra, Couchbase, Solr, ORC and Atlas lineage reporting: finding them in flows, replacement patterns and whether to keep a 1.x island.
Replacing the versioned ConsumeKafka_2_6 and PublishKafka_2_6 processors with the NiFi 2 ConsumeKafka and PublishKafka plus Kafka3ConnectionService, including Kerberos settings, record strategies and consumer offsets during cutover.
Rewriting ExecuteScript and InvokeScriptedProcessor code written in Jython, ECMAScript, Lua or Ruby before upgrading: Groovy and ExecuteGroovyScript, native Python processors, and when to turn a script into a proper processor.
What custom processor code must change for NiFi 2: Java 21, jakarta.servlet packages, Markdown additional details, removed variable registry scope, new custom UI paths and property descriptor rules, plus how to test the rebuilt NARs.
Retiring a NiFi Registry instance, which is deprecated for removal, in favor of the GitHub, GitLab, Bitbucket and Azure DevOps flow registry clients: exporting buckets and versions, repository layout and branch strategy.
Checking which nifi.sensitive.props.algorithm a 1.x instance uses, why NiFi 2 supports only the Argon2 and PBKDF2 AES-GCM 256 options, and running the set-sensitive-properties-algorithm command before the upgrade.
Moving NiFi users off Kerberos SPNEGO browser login, deprecated in 1.27.0, to OpenID Connect or SAML single sign-on, and what happens to Kerberos-authenticated service accounts and processor credentials.
Preparing hosts and container images for NiFi 2's Java 21 requirement: JDK choice, bootstrap.conf JVM arguments, IPv6 defaults, the Windows nifi.cmd change and checking third-party JDBC drivers and custom NARs.
Running an upgrade across a NiFi cluster: why every node must be on the same version, preserving custom and modified NARs, draining queues, configuration file updates, the sensitive properties key and the order to restart nodes.
Keeping MiNiFi Java and C++ agents in step with NiFi 2: version alignment, the MiNiFi C2 server removed in NiFi 2.0, central configuration options and rolling agent upgrades across remote sites.
Swapping out processors that NiFi 2 no longer ships, such as GetHTTP, PostHTTP, GetJMSQueue, HashContent, HashAttribute, Base64EncodeContent and EncryptContent, using the replacement mappings and sample flow definitions the project publishes.