clink v0.5.0
Cluster-hardening release. A class of jobs the earlier releases never exercised
end to end - a bounded source with checkpointing on, side-output sinks, and a
fan-out topology, deployed as a compiled job plugin and recovered across a hard
worker kill - now completes and recovers cleanly. Every fix was found by driving
that shape with a real downstream consumer. No REST API or state-format
breaks; plugin ABI unchanged (v1).
Highlights:
- Checkpoint barriers and watermarks now reach side-output channels, so a
checkpointed bounded job with a side-output sink no longer hangs at its
end-of-stream final checkpoint. - Worker-loss recovery rolls the whole job back instead of leaving surviving
upstreams holding stale bridges to relocated peers. - Cluster-built sinks get a stable, unique identity, so sibling 2PC sinks no
longer collide on onePREPARE TRANSACTIONgid. clink replayworks on plugin-typed operators, not just SQL Row
(--plugin=<so> --verify/--emit-test).- A fluent CEP timed-out side output (
PatternStream::select_with_timed_out)
for alerting on the absence of a match, and the runtime image now ships as a
job SDK.
Full notes: CHANGELOG.md.
Consume a release without a compiler
Every release carries a prebuilt Linux x86_64 SDK:
curl -fsSLO https://github.com/orhaugh/clink/releases/download/v0.5.0/clink-v0.5.0-linux-x86_64-ubuntu24.04.tar.gz
tar xzf clink-v0.5.0-linux-x86_64-ubuntu24.04.tar.gz
./clink-v0.5.0-linux-x86_64-ubuntu24.04/bin/clink run pipeline.sqlA relocatable prefix - the clink CLI and clink_node daemon, static
libraries, headers, and the CMake package, with the pinned Arrow bundled and
$ORIGIN rpaths - built at an Ubuntu 24.04 glibc floor. Point
CMAKE_PREFIX_PATH at it and find_package(clink) resolves. Scope is the
dependency-free impl set (SQL, file/Parquet, RocksDB state, HTTP, TLS,
WebSocket, Avro, vector search); anything needing an external client library or
object-store SDK is a from-source build.