Skip to content

v0.5.0-beta — the durability release

Pre-release
Pre-release

Choose a tag to compare

@emrebulutlar emrebulutlar released this 28 Jul 01:54
a89335d

The durability release. Cluster state stops living only on the box that produced it, and the build that produced it can be named.

Highlights

  • Order lifecycle latency 16.4 ms → 757 µs. The OMS egress streams were riding the market-data conflation timer, which exists to conflate a price feed and had no business batching per-order facts. They flush on the Disruptor's endOfBatch now: opportunistic batching, no wall clock (#159).
  • The committed round trip is measurable. CreateOrder offered → first status back, replicated and applied, reported separately from ingress publication, which never leaves the machine. The two differ by roughly 880x on the same run; quoting one as the other is the trap this closes (#161, #173).
  • Bundles for the matching engine: a snapshot plus the log behind it, as one durable unit, with a retention watermark (#162).
  • The engine jar and the load generator are published to the artifact store, addressed by commit sha and by release tag, with Build-Sha in the manifest (#165, #173).
  • The cluster machinery comes from cluster-kit rather than a second copy in this repo, so a fix lands in both engines or neither (#163).
  • Bare java -jar works: shaded jars carry Add-Opens (#153). The load generator no longer assumes the network interface is called eth0 (#151).

Full detail in CHANGELOG.md.