This release focuses on improving performance and memory usage. Pipelines are now faster, especially when using if conditions or parsing highly heterogeneous events. Memory usage has also been substantially reduced.
Download the release on GitHub.
Changes
Section titled “Changes”Periodically release unused memory in server mode
Section titled “Periodically release unused memory in server mode”Tenzir Node now calls malloc_trim every 10 minutes to release unused memory back to the operating system, reducing memory fragmentation in long-running instances.
Improved export memory management
Section titled “Improved export memory management”The database partitions opened by the export operator previously read and
forwarded their entire contents to export without waiting for the operator to
forward them. This circumvented the usual backpressure mechanism and could lead
to unexpectedly high memory usage. Now, the backpressure is propagated to the
underlying storage layer.
Improved pipeline execution
Section titled “Improved pipeline execution”We fine-tuned the scheduling logic responsible for the execution of pipelines.
In particular, certain pipelines that invoke parsing functions now take
significantly less memory to run. Furthermore, if runs much faster in
situations with many small batches, preventing pipeline congestion and therefore
also lower memory usage.
Bug Fixes
Section titled “Bug Fixes”Fixed record sorting
Section titled “Fixed record sorting”Calling sort on records may have caused a crash for more involved objects. This no longer happens.