Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following guidance is specific to the indicated version changes.  It will contain specific items that users should be aware of when moving between versions:
  • Migrating from 1.12.x to 1.13.x
    • Both embedded and external ZooKeeper connections can now be secured with TLS. The administration guide contains configuration examples to enable this feature. For embedded ZooKeeper, it will require setting the secureClientPort value. There are also new properties defined in the admin guide, including nifi.zookeeper.client.secure which tells NiFI to use a secure client to access a secured ZooKeeper, and nifi.zookeeper.security.* properties to define separate key/trust stores if required. By default the nifi.security.* values will be used to establish trust, but if nifi.zookeeper.security.* values are defined, these will be used instead.
  • Migrating from 1.12.0 to 1.12.1
    • Storage container auto-creation was added to PutAzureBlobStorage in NIFI-6913, causing authorization failures when using SAS tokens without container list or create permissions. The fix for NIFI-7794 makes this configurable, but reverts to the previous default -- not creating containers. If you were using 1.12.0 with storage container auto-creation, you will need to change the new Create Container property to true to enable the behavior.

  • Migrating from 1.x.x to 1.12.x
    • PutKudu processor - while NIFI-6551 fixes flows writing to Kudu timestamp (UNIXTIME_MICROS) columns via timestamp or date fields. This change could break PutKudu processors that are writing to Kudu timestamp (UNIXTIME_MICROS) columns via numeric fields. Before this change, flows would often multiply millisecond values by 1000 to write microsecond values to Kudu. On upgrade this multiplication should be removed and milliseconds should be sent.
    • HandleHttpRequest was updated to no longer write the 'http.param.*' attributes. These attributes were undocumented and therefore not part of its 'contract'. They were removed because in the case of query parameters, they were duplicative and in the case of multipart/form data, they were both duplicative of FlowFile content and also dangerous as could be potentially extremely large. Multipart/form data was never intended to be included as attributes but were inadvertently included. This is no longer the case. If multipart/form data is needed as an attribute, the appropriate attributes can be captured via the ExtractText processor.
    • NARs for Kafka 0.9 and Kafka 0.10 have been removed from the convenience binary. You can still get them from the various artifact repositories and use them in your flows but we cannot bundle them due to space limitations by default.
    • The SSLContextService interface was updated as part of NIFI-7407.  Custom NARs that depend on nifi-standard-services-api-nar may need to be rebuilt against version 1.12.0 to ensure compatibility.  Users of those custom nars could also just pull in the appropriate service API and service implementation nars in their environment.
  • Migrating from 1.x.x to 1.11.x
    • CompressContent has been updated to specify the compression level when using XZ-LZMA2 compression whereas before it was unspecified.  The default is level 1 now.  If you wish to see higher levels of compression (and CPU effort) you might wish to set this value higher. CompressContent had previously only used that property for GZIP compression.
  • Migrating from 1.x.x to 1.10.0 
    • The RPM creation mechanism appears broken for both Java 8 and Java 11 binaries if you wanted to build those yourself.  Should be resolved in a later release.
    • We've removed the following nars from the default convenience binary.  These include kite-nar, kafka-0-8-nar, flume-nar, media-nar, druid-controller-service-api-nar, druid-nar, other-graph-services-nar.  You can still get them from the various artifact repositories and use them in your flows but we cannot bundle them due to space limitations by default.
    • The "Auto-Create Partitions" property was removed from the PutHive3Streaming processor, causing existing instances of this processor to become invalid. The property would appear as an unsupported user-defined property and must be removed to return the processor to a valid state.
    • The RecordSetWriter interface added a non-default method that adds a Map<String, String> argument to the createWriter() method. This will cause ScriptedRecordSetWriter scripts to fail because of the missing method. Adding the Map argument to the method fixes the issue (NIFI-6318).
    • The Zookeeper dependency that NiFi uses for state management and cluster elections was upgraded to v3.5.5. From v3.5.x onwards, Zookeeper changed the zookeeper.properties file format and as a result NiFi users using an existing embedded zookeeper will need to adjust their existing zookeeper.properties file accordingly. More details here: https://zookeeper.apache.org/doc/r3.5.3-beta/zookeeperReconfig.html#sc_reconfig_clientport.
      For new deployments of the 1.10.0 release onwards, NiFi will be packaged with an updated template zookeeper.properties file.

      To update an existing zookeeper.properties file however, edit the conf/zookeeper.properties file:
      1. Remove the clientPort=2181 line (or whatever your port number may be)
      2. Add the client port to the end of the server string eg: server.1=localhost:2888:3888;2181

...