Apache Nifi just voted on another release and have annouced and released 0.5.0, probably their most interesting release to date. This release contains quite a few big features that expand what nifi has to offer and also how you can use it; notably script execution in a flow. This new processor allows you to execute scripts in Javascript, Groovy, JRuby, Jython, Lua, and Python. To grab the latest binaries, go to Apache Nifi’s download page The full release notes are also available on Apache Nifi’s wiki page.

This release is substantial and really expands Apache Nifi’s usablity, specificall for those users who don’t feel comfortable with Java. Lets take a deeper look at what else is included!

Bug Fixes

Since Nifi is quite a young project, less than a year old in the open source world, it still has quite a few bugs coming up as the user base expands. It’s great to see that as bugs come up, they are getting the attention of the community and developers. Each release is getting better and better. For this release, quite a few of the bugs are just under the covers, rewording error messages or documentation fixes. There are also some functionality bugs that were corrected in this release; Controller Service sorting by type and state now works, PutS3 now allows larger than 5GB files, Unit tests are performing better - no time outs on certain environments, a few fixes to PutSQL processor for improved functionality also. The full list of bugs addressed in this release can be found in Apache Nifi’s Jira

Improvements

Apache Nifi Expression language suppport has been added to a few fields for some processors with this release - the MergeContent Processor’s Correlation Attribute Field and the xxxS3Object SECRET_KEY and ACCESS_KEY properties. The UI now deletes an object when it is selected and the backspace key is pressed, which is a step in the right direction to improve usability. Their are talks of a new UI that is in the works to allow for better user role management and also use HTML5 and newer web technology for the UI. Some other improvements were new method for the Expression Langauge, getDelimitedField, PutJMS now works as expected for the uri shcema specified.

New Features

Some big changes for this release! As I talked about before, there are a few new processors - 14 total - and also one that was deprecated/removed - ConvertCSVToSql. The big new processors are a new processor to execute scripts and allow them access to the flowfile attributes - the ExecuteScript processor. There is also a new processor for writing events to Riemann - the PutRiemann processor. ElasticSearch is also now suppported through it’s own processors. The last big processor for this release is Get/PutAMQP processors for the AMQP connections - similar to JMS for newer message servers such as rabbitMQ and Apache’s QPID. For a full list of processors, check out our full updated list of nifi processors.

All 14 new processors, with links to their description:

Another big new feature in this release is the ability to inspect/interact with FlowFiles inside of the Apache Nifi UI - flow files inside of the flow! This is so awesome! You can now select a processor/connection and peak at what is happening in a sense and upload/remove files from a queue! Exciting stuff!!

This release contained quite a few new and interesting additions that we plan on follwing up on with future posts, so be sure to check back to see how these new features can be used.