Community Articles

Find and share helpful community-sourced technical articles.
Celebrating as our community reaches 100,000 members! Thank you!
Labels (1)

Good design goes mostly unnoticed. If a user interface works well, you simply complete a task and move on to the next. That time when something doesn't work as expected, or you think why do I have to do it this way, is when the design becomes much more noticeable.

The following is a look back over recent months at some notable UI/UX improvements that have recently made or will be soon making their way to Apache NiFi. They vary a lot in size and complexity, but overall they contribute equally to make NiFi better by design.

Enable/Disable Support for Multiple Components

Much like starting/stopping multiple components on the canvas, now you can enable or disable more than one component at the same time. You can also perform the action on a process group, therefore effecting all applicable components within. If your flow has a large number of stopped components, disabling them can help reduce the load NiFi takes on during validation.

Automatically Reconnect NiFi Node to Cluster

If a mutable request that is replicated across a cluster fails to execute on a particular node, that node will now be asked to rejoin the cluster (as long the flows still match). Previously, manual user interaction was required to make this happen.

Asynchronous Component Validation

Individual components will now display a new state of validating when modified (create, update). Validation will continue at a recurring interval in the background and a component's last known state will continue to show unless modifications have been made, which will trigger the validating status.

Set Default Backpressure Thresholds

You can now set default object backpressure and data size backpressure thresholds in to better suit your use case. Initially these values are set to 10,000 and 1 GB, respectively.

NiFi Upgrade Guides

A lot of great updates have been made to ease upgrades around all NiFi versions, 0.x to the latest. Additionally, you'll find detailed migration notes highlighting issues between specific NiFi versions.

New Documentation Around Variables and Flow Versioning

The NiFi User Guide was expanded to include a section explaining how variables are captured when placing a process group under version control. This can be especially useful to understand when dealing when nesting process groups.

Dynamically Select a Connection Pool

The DBCPConnectionPool controller service now lets you register multiple connection pools through dynamic properties, which will then allow the selection of one based on an incoming attribute.

New ForkRecord Processor

A nice addition to the *Record processor offering is ForkRecord, allowing you to produce multiple records from one containing an array of records. Additional configuration options allow you to include the parents fields with each record.

Include File Attributes Option When Using ListFile Processor

Since it can be an expensive task in some configurations, ListFile now provides an option to choose whether or not to include file attributes as flowfile attributes. File attributes will continue to be included as the default option.

HBase_1_1_2_ClientService Controller Service Adds More Expression Language Support

The Hadoop Configuration Files property of the HBase_1_1_2_ClientService controller service now supports expression language making it easier to reference long path names using an environment variable, for example. This is now consistent with other Hadoop related components that also have the property.