Skip to content

Breaking Changes in Apache NiFi 2.x

Vladislav-Romanov27 edited this page Oct 16, 2025 · 3 revisions

Breaking Changes in Apache NiFi 2.x

In Apache NiFi 2.x, a number of previously deprecated components (processors, controller services, and reporting tasks) and features have been removed. For some of these components, alternatives are available in 1.x versions; for others, there are no direct replacements.

A list of all deprecated components, features, and available alternatives can be found on the Apache NiFi wiki page here.

The table below highlights changes in specific features and components and suggests actions to take for them before upgrading to 2.x. Some changes may require manual intervention, while others can be automated using provided upgrade scripts.

Component or feature Description Action type Actions
JoltTransformJSON JoltTransformJSON has been moved to the nifi-jolt-nar NAR, and its properties have been renamed (e.g., jolt-spec to Jolt Specification, etc.) in 2.x. Automated Ensure that during configuration import, the flow definition is upgraded using the upgrade scripts.
DistributedMapCacheServer This component was renamed to MapCacheServer in 2.x. Automated Ensure that during configuration import, the flow definition is upgraded using the upgrade scripts.
DistributedSetCacheServer This component was renamed to SetCacheServer in 2.x. Automated Ensure that during configuration import, the flow definition is upgraded using the upgrade scripts.
DistributedMapCacheClientService This component was renamed to MapCacheClientService in 2.x. Automated Ensure that during configuration import, the flow definition is upgraded using the upgrade scripts.
DistributedSetCacheClientService This component was renamed to SetCacheClientService in 2.x. Automated Ensure that during configuration import, the flow definition is upgraded using the upgrade scripts.
Kafka-related components (ConsumeKafka_2_6, PublishKafka_2_6, etc.) Apache NiFi 2.x introduces completely new components (ConsumeKafka/PublishKafka + Kafka3ConnectionService) as replacements. Old components have been removed. Old NARs do not work on 2.x, and new NARs do not work on 1.x. Manual (requires >=2.x)
  1. Upgrade to Apache NiFi 2.x.
  2. Update the flow to use the new Kafka components: create new processors and controller services and fill in their properties.
  3. [Optional] If both 1.x and 2.x must be supported, two versions of the flow must be stored and maintained in parallel.
Variables Use Parameter Contexts (PCs) instead of variables. PCs are available since 1.10. Manual (requires >=1.10)
  1. Create a parameter context (or several contexts, if needed).
  2. Assign the PC(s) to the necessary process groups.
  3. Change references in properties from ${varName} to #{paramName}.
ConvertJSONToSql Use RecordReader with PutDatabaseRecord or PutSQLRecord instead. Manual Update the flow to use new components:
  1. Create new components.
  2. Fill in their properties based on the documentation and the properties from the old components.
Proxy Host and Proxy Port properties in InvokeHTTP processor Starting from 1.18.0, the Proxy Configuration Service property replaces the Proxy Host and Proxy Port properties in the InvokeHTTP processor. In 2.x, Proxy Host and Proxy Port properties were removed. Manual (requires >=1.18.0) Update the flow to use the new property:
  1. Create a new Proxy Configuration Service.
  2. Fill in its properties based on the documentation and the properties from the InvokeHTTP processor.
Other components/features with alternatives in the Apache NiFi wiki. Use the alternative component/feature listed on the wiki instead. Manual Update the flow to use new components/features:
  1. Create new components (if needed).
  2. Fill in new properties based on the documentation and properties from the old components.
Other components without alternatives in the Apache NiFi wiki. The component was removed, possibly without replacement. Manual Research if any alternatives can be used instead. If not, create a custom component.
PrometheusReportingTask PrometheusReportingTask is deprecated and removed in NiFi 2.x. Some metrics are available in the ComponentPrometheusReportingTask component. List of metrics:
  • nifi_jvm_uptime
  • nifi_jvm_heap_usage
  • nifi_jvm_gc_time
  • nifi_jvm_thread_count
  • nifi_jvm_gc_runs
  • nifi_amount_items_queued
  • nifi_amount_threads_active
  • nifi_size_content_queued_total
Manual (requires >=2.x)
  1. Remove PrometheusReportingTask from NiFi if it existed.
  2. Add ComponentPrometheusReportingTask if it is missing.

Upgrade Advisor

To help identify issues when upgrading to 2.x, the Upgrade Advisor was created. Upgrade Advisor is a script that generates a report listing all deprecated components and features found in exported NiFi configurations.