Skip to content

Call-site annotations in diagnostics from user-defined operators

Section titled “Call-site annotations in diagnostics from user-defined operators”

Jun 11, 2026 · @IyeOnline, @aljazerzen · #6350

Diagnostics from inside a user-defined operator now include source context from the UDO as well as a “called from here” trace back to the top level pipeline. This makes it possible to immediately locate the offending call when a diagnostic is emitted deep in a nested operator:

from {}
test::error
error: assertion failure
--> <packages/test:error>:2:10
|
2 | assert false
| ^^^^^
|
--> <input>:2:1
|
2 | test::error
| ^^^^^^^^^^^ called from here
|

Previously, such diagnostics contained no location information, making it difficult to associate them with a specific call in the pipeline.

Graceful pipeline shutdown with data draining

Section titled “Graceful pipeline shutdown with data draining”

May 21, 2026 · @aljazerzen

Stopping a pipeline or shutting down the node now drains in-flight data before terminating, instead of discarding it. Source operators receive a graceful stop signal and can finish outstanding work before the pipeline shuts down.

A configurable grace period (tenzir.shutdown-grace-period, default 30 seconds) bounds how long the system waits. After the grace period expires, remaining pipelines are force-killed.

Correct null handling in bloom-filter context lookups

Section titled “Correct null handling in bloom-filter context lookups”

Jun 3, 2026 · @IyeOnline, @claude

The bloom-filter context no longer matches null values when the filter was populated with empty strings. Now null values no longer match the context.