What’s New in Aeron: Key Features and Enhancements over the past 6 months
Missed our latest Aeron Community MeetUps in November 2024? No worries! Aeron continues to lead the way in low-latency messaging systems, and our recent updates are no exception. In this summary blog, based on our MeetUp presentation, we’ll dive into the additions and enhancements introduced in the latest releases, and what they mean for your applications.
Discover Aeron 1.45.0 and 1.46.0 enhancements including:
Aeron typically follows a 3-4 month release cycle. In our MeetUp session we covered two important releases: 1.45.0 and 1.46.0. We have since also released version 1.47.0 of Aeron.
JDK Version Upgrade in 1.46.0
Aeron has made a significant leap from Java 8 to Java 17 with release 1.45.0 being the final version to support Java 8. With the release of 1.46.0, Java 17 is now a requirement. This upgrade is not just a version change; it brings a host of benefits to Aeron users.
- Java 17 introduces numerous performance improvements, making your applications run faster and more efficiently.
- Security enhancements in Java 17 provide a more robust and secure environment.
- New language features and APIs in Java 17 offer developers more tools and capabilities, enabling cleaner code.
New Aeron open-source features
Aeron continues to enhance its open-source offerings, providing new features and improvements that benefit the entire community. Here are some of the key updates:
- Response Channels:
- C/C++ Wrapper Support:
- Replay Merge Optimization:
- Aeron Archive Performance and Stability Improvements
- Stream Session Limits, MDC Behavior, and Static Counters:
One of the most anticipated features, initially announced in Aeron 1.44.0 as experimental, is the introduction of response channels. This feature simplifies client-server communication by allowing the setup of return channels via a server’s control endpoint, eliminating the need to know the client’s address or DNS name. This is particularly beneficial in dynamic environments and those complicated by network address translation (NAT), such as Docker. By addressing the traditional requirement for separate publication and subscription pairs, response channels streamline client-server interactions, making it easier to implement bi-directional communication in complex network setups.

Additionally, response channels have been integrated into Aeron Archive for control responses, replay/bounded replay, and replicating recordings.
The C and C++ wrappers now include a full set of Archive client APIs, moving towards feature parity with Java. This experimental feature allows developers to leverage the Archive client capabilities in C and C++ environments, broadening the usability and flexibility of Aeron.
*Note that pure C++ APIs are deprecated for removal since 1.45.0, meaning no new features or improvements will be added. Developers are encouraged to migrate to the C++ wrapper APIs instead.
The replay merge optimization now paces internal state transitions and reduces the number of calls to AeronArchive#getMaxRecordedPosition, thereby decreasing network traffic and debug output.
The latest archive performance improvements avoid stalling the Archive conductor thread by optimizing the Archive’s segment file deletion process. Files are now deleted without renaming them, significantly reducing the time and resources required, especially in cloud environments.
In addition to performance improvements, we have enhancements to prevent archive clients from causing interference when they use the same response stream ID, ensuring smoother and more reliable operations.
To further improve stability, we have addressed issues related to dormant Aeron Archive clients. These clients will no longer cause ‘out of memory’ errors on the Archive, leading to a more stable and robust system.
To protect against misbehaving publishers, a driver-level setting has been introduced to limit the number of sessions per stream, preventing resource exhaustion on subscribers. Additionally, the behavior of multicast and MDC has been unified, making MDC act like multicast by default. Finally, static counters that persist beyond the client’s lifecycle have been added, useful for maintaining application-level state.
Other improvements as rolled out in 1.47.0 include: Aeron Cluster multi-service fixes to resolve duplication of service messages during failover/restart when using multiple services, Aeron Cluster Standby snapshot handling to prevent invalidated snapshots from being re-downloaded from the Standby node upon recovery, new log events for NAK messages sent and received, and address re-resolution enhancements to cover a broader set of recovery scenarios.
New Aeron Premium features
Aeron’s premium features continue to push the boundaries of performance and usability, offering advanced tools and capabilities for sophisticated application needs. In the past 6 months we added…
- Data Retention Regulator (DRR):
- Aeron Insights:
The Data Retention Regulator is a software utility designed to manage and regulate the lifespan of data within Aeron Cluster and Aeron Archive environments. Its primary function is to enable disk space management by controlling how long data is retained, freeing up disk space, managing snapshots and logs for recovery, and ensuring compliance with regulatory policies. More info here >>
Aeron Insights provides Aeron Cluster users with actionable intelligence, significantly reducing the time to detect and respond to risks and issues that might otherwise be discovered too late. With an API and starter kit UI, users gain easy visibility into key cluster insights, enabling quick identification of core stack problems. More info here >>
Future Developments
Upcoming enhancements include:
- Segfault protection for subscription misuse
- Image rejection to better manage resources
- Non-blocking segment migration
These developments aim to further enhance the robustness, performance, and flexibility of Aeron, ensuring it remains the leading choice for low latency messaging systems. Stay tuned for more exciting updates!