Aeron v1.29.0 Release Notes
Release Date: 2020-07-21 // about 3 years ago-
- Further refinement and additions to the C client which is currently at experimental status.
- 👌 Improve error messages when parsing URI params.
- 🛠 Fix application of sparse terms in Java Media driver when not used on a per channel basis.
- ➕ Add support for session based subscriptions on IPC and spies to the C media driver.
- 👉 Use
ssc
(Spies Simulate Connection) only in cluster when membership size is 1. This avoids the leader racing ahead of followers which are catching up and a number of cases where the start of a recording can be missed. - ➕ Add the ability to have spies simulation connection (ssc) configured on a per stream basis for both Java and C media drivers.
- 🛠 Fix some false sharing issued introduced for channel re-resolution checking to give a tighter latency distribution.
- ➕ Add state checks to Cluster operations so services do no use features at inappropriate times.
- 🏗 Rework build script to help IDEA recognise generated classes and not give false compilation errors.
- 🚤 Significantly improve throughput of C media driver when used with the Solarflare ef_vi premium extension to provide the best latency and throughput possible.
- 🛠 Fix short send counting in C media driver.
- 🔄 Change Archive session workers to behave more like normal Agents so that stack traces are more informative when debugging.
- 👌 Improve error handling and cluster elections when dynamic membership is being used and increase test coverage.
- 👌 Improve session checks when re-adding a publication with the same session id.
- Refinements to Cluster Backup.
- 🔄 Change defaults for throughput tests to use 8k rather than 16k MTUs to better fit with jumbograms.
- Close recording Archive recording subscriptions with
autoStop = true
that have an error on first image. - Detect Archive errors in Cluster so waiting operations can abort and be retried.
- 🛠 Fix
aeron_ftruncate
on Windows for native driver so it behaves more like Linux. This addresses races with client and driver starting at the same time which can result in a corrupt CnC file. - Avoid int overflow with Cluster snapshots greater than 2GB in length. PR #959.
- 🛠 Fix C++ client compile for CentOS 7 with GCC 4.8.5.
- ➕ Add flow control (fc) and group tag (gtag) URI params to Archive stripped channels.
- 🚤 Configurable buffer length for Archive record and replay file operations to control batch size via
aeron.archive.file.io.max.length
. New default shows a marked increase in throughput and reduced latency in all our tests. - ✅ Capture logs from failed Cluster tests to aid debugging.
- 🌲 Agent logging for untethered subscription state changes in Java and C media driver.
- 🌲 Expanded agent logging for archive activities to aid debugging.
- 🛠 Fix segfault in C media driver if transport cannot bind.
- ➕ Add Java 14 to CI.
- ➕ Add native sanitize builds to CI.
- ⬆️ Upgrade to Versions 0.29.0.
- 💅 Upgrade to Checkstyle 8.34.
- ⬆️ Upgrade to Mockito 3.4.4.
- ⬆️ Upgrade to BND 5.1.1.
- ⬆️ Upgrade to ByteBuddy 1.10.13.
- ⬆️ Upgrade to HdrHistogram 0.11.0 for C.
- ⬆️ Upgrade to Gradle 6.5.1.
- ⬆️ Upgrade to SBE 1.19.0.
- ⬆️ Upgrade to Agrona 1.6.0.
Java binaries can be found here...