Skip to content

Sink v0.15.0

Choose a tag to compare

@liran liran released this 16 Sep 21:19
e64ffa8

This release introduces Store-isolated Gateway, Engine and Worker roles and the URI-only protocol. Pair it with sink-go v0.8.0.

Breaking deployment change: deploy a new cluster with new Kafka topics and consumer groups, then cut clients over together. Existing mutation envelopes and scan checkpoints are not migration inputs. Follow the new-cluster migration guide.

  • Gateway owns static Store routing and stable record affinity. Each Engine and Worker binds to one Store, isolating its backend and processing resources.
  • Canonical record/native resource URIs replace old address fields; Store names are the sole routing identity, and MongoDB native operations support collection-bound resources.
  • HTTP health uses a dedicated port independently of opt-in Prometheus. Shutdown now withdraws HTTP readiness before background work and accepted RPCs drain.
  • Gateway removes unnecessary single-owner hashing and single-group goroutine fanout while preserving affinity mapping across versions.
  • Adds real DNS withdrawal/cache/outage counterexamples, graceful and forced drain regressions, Worker 1→3→0→1 qualification, MongoDB election/majority-loss tests and a fixed-resource workload matrix.

The rollout guide explains why DNS refresh alone is insufficient: cache lifetime, discovery failure, retained requests and the complete process shutdown budget all matter. The backend environment guide records the MongoDB/kernel compatibility constraint reproduced during qualification.

Installation artifacts

Docker image:

ghcr.io/batchstream/sink:0.15.0

docker pull ghcr.io/batchstream/sink:0.15.0

Immutable image: ghcr.io/batchstream/sink@sha256:b240d56f3df686e9e42d863deb7ac7f52bddf321397b43ba919f665ddfbf21a7

Standalone binaries for Linux and macOS on amd64 and arm64 are attached to this release.
Verify an archive with checksums.txt before installation.

Qualification evidence: full report, fixed-resource performance data, and release artifact verification. The report separates successful reconciliation from offered-load targets that were not sustained, and records the Docker-only scope and deployment limits.