github real-logic/aeron 1.33.0

latest releases: 1.44.1, 1.44.0, 1.41.6...
2 years ago
  • The focus for this release has been a significant rework of cluster to make consensus more robust especially in recovery scenarios. We consider this the penultimate release to cluster being GA. As of this release we plan to stabilise the API and only make breaking changes if a significant issue is raised by a customer on commercial support.
  • Expand the range of channel URI params supported by the archive on a per stream basis.
  • Add support for dynamically switching debug logging on and off. PR #1155.
  • Add debug logging support for flow control.
  • [C] Fix memory leak and reassembly of fragmented message greater than 8K in client.
  • Fix short send of recording start event when tracking recording progress. PR #1155.
  • Improve clean up of subscriptions and control sessions in the Archive when failures occur.
  • [Java] Fix bug with flow control gtag being carried over erroneously which can cause issues with ReplayMerge and other features dependent on group flow control semantics.
  • Reduce the number of memory fences used with min and tagged flow control.
  • Set initial window segments to 10 for Cubic congestion control and fix issue measuring RTT in the presence of loss.
  • Add the ability to configure archive replication channel on a per operation basis. This enables the setting of congestion control and socket buffer lengths which are important for cluster backup.
  • Use Archive replication for cluster replication, dynamic join, and cluster backup. This requires the cluster and archive config to be correct as configuration errors will not be evident until used - be careful of using localhost for endpoints.
  • Check tag for match when reusing send channel endpoint. PR #1147.
  • Add the ability to configure socket buffer and receive window on a per channel basis. PR #1143.
  • Rework Cluster backup and dynamic join to use archive replication.
  • Add support for using a 0 port for cluster catchup endpoints.
  • [Java] Better clean up of allocated resources in the driver when failures occur so it can continue without leaks.
  • [Java] Reduce linger on explicitly closed resources in the client.
  • [C/C++] Improve the performance of pre-faulting memory mapped file on Linux and Windows. PR #1127.
  • [C/C++] Clean up warnings in Windows build.
  • Improve Javadoc.
  • Provide sender and receiver with their own cached clocks to be more responsive and isolated from conductor stalls.
  • Add new counters to detect work cycle stalls which track max work cycle latency and count of threshold exceeded observations.
  • Continue to send status messages and heartbeats when running in DEDICATED or SHARED_NETWORK thread modes to keep connections alive if the driver stalls due to DNS lookups or file IO.
  • Reduce the number of commands from client from 10 to 2 per work cycle to help prevent timeouts and reduce latency pauses.
  • Improve validation of adding destinations to publications.
  • Better handling of race conditions when clients and driver are started/restarted at the same time.
  • Extend debug logging events.
  • Improve diagnostics collection on failed cluster tests.
  • Add disable event codes for debug logging so all can be enabled and merged with a disabled set.
  • Add error stacks to C driver to aid debugging of issues.
  • Add storage space warnings and specific exception codes on errors returned to archive client. Archive has new config for low storage thresholds.
  • Detect archive failures in cluster so appropriate action can be taken.
  • Propagate recording errors from the archive back to the archive client that initiated the failed operation.
  • Add specialised ClusterTerminationException for expected cluster termination.
  • Reduce network syscalls with Java 11+ for higher numbers of active streams.
  • Respond to cluster client with session open event only after the open session is successfully appended to the cluster log.
  • Upgrade to Version 0.38.0.
  • Upgrade to BND 5.3.0.
  • Upgrade to Mockito 3.9.0.
  • Upgrade to ByteBuddy 1.10.22.
  • Upgrade to JUnit 5.7.1.
  • Upgrade to Gradle 6.8.3.
  • Upgrade to SBE 1.22.0.
  • Upgrade to Agrona 1.10.0.

Java binaries can be found here...

Don't miss a new aeron release

NewReleases is sending notifications on new releases.