Skip to content

v0.3.0

Choose a tag to compare

@liran liran released this 07 Nov 00:31
56b193a

Source: 56b193a2252a299d8a1d8661c7fae25bb78c2518 (merged main).

Image: ghcr.io/batchstream/weir:v0.3.0@sha256:6a84f2b3f3ff0776db0f01185d1b0e2cc108cf2e406fbc81b5824206106466b7. Archives are provided for Linux and macOS amd64/arm64; verify them with sha256sum -c SHA256SUMS. weir version reports v0.3.0 and the source revision.

This release is meant to replace Sink for synchronous MongoDB and Search traffic. Configuration and the client API changed since v0.2.0: Weir loads one flat configuration file and serves every hosted Store on one address without a peer directory (#127, #128, #152), and clients need weir-go v0.24.1 with its option API, Native operations and query visibility (#59, #60, #61). Deploy with weir-charts 0.20.0.

  • Throughput: concurrent callers share record streams, messages are packed, writes collect for 1 ms, adaptive limits keep backends near capacity as replicas scale, and each Lua source compiles once per process (#134, #136, #137, #139, #147, #148, #160).
  • MongoDB: replica-set primaries are discovered and failover never replays a write (#98–#108). A Lua batch whose conflict retries run out is halved instead of failing every member (#161). SCRAM works over an explicit tls=false for networks without TLS, which sends credentials in plaintext (#163).
  • Search: OpenSearch in Elasticsearch compatibility mode is recognized (#162).
  • Overload: Weir sheds against the Go memory limit, and refusals are reported as UNAVAILABLE so clients resend them (#129, #143, #150).
  • Operations: runbooks for each chart alert and for Native failures, client keepalive pings, Go 1.27.3 and patched dependencies (#141, #142, #145, #146, #159). Release builds report their tag as the version (#164).

Weir is MIT licensed (#154). See the architecture and configuration.