Change Log¶
January 2024¶
- Added a link to AWS performance testing guide.
December 2023¶
- Extended the SBE warnings page with details on how to enable and use the SBE precedence checks.
- Avoided the use of "message" as a name for fields in the SBE messages of the SBE warnings page.
- Upgraded Agrona to 1.20.0 and SBE to 1.30.0.
August 2023¶
- Aeron Cookbook is integrated now with aeron.io under the Docs section. The existing Aeron Cookbook domain will remain around until further notice. Note that the documentation is identical on both sites.
- Added cookbook entry on managing port ranges with the Port Manager found in 1.42.0+. See How do I tell Aeron which port range to use?
- Added description of the new entries around NameResolution time found in AeronStat with Aeron 1.42.0+ to Aeron Tooling
- Add a note on additional Aeron Stat information relating to Name Resolution to Media Driver operations are slow on Mac just after launch
- Add detail on how application messages relate to Aeron messages to Publications & Subscriptions
- Updated Aeron to 1.42.0, Agrona to 1.19.1 and SBE to 1.29.0
- Added some clarifications on how the Media Driver can be configured, and key configuration properties to Media Driver
- Added notes around the
ActiveDriverException
which can be raised by the Media Driver in certain situations.
July 2023¶
- Fix issue with DirectBuffer Strings description.
- Add a note on slow DNS issues with macOS: Media Driver operations are slow on Mac just after launch
- Small clarification to the Aeron Archive Basic Sample around
startRecording
being an asynchronous operation. - Added content under Distributed Systems Basics around Liveness Detection
- Improved, clearer naming (from Demuxer to Adapter) for objects that adapt the various byte buffers into objects
June 2023¶
- Underlying buffer access warnings via
BufferClaim
when using atryClaim
in Publications & Subscriptions - Warning on high-resolution clocks accuracy on JDK 8 in Clocks
- A note on buffer alignment checks with Agrona DirectBuffer
- Updated Aeron to 1.41.4, Agrona to 1.18.2 and Simple Binary Encoding to 1.28.3
May 2023¶
- Add Cluster Backup to the cluster quickstart sample
- Introduce new content relating to the quickstart, including Replicated State Machines, Raft Consensus, Application Level Protocols and Performance.
April 2023¶
- Adaptive have incorporated Aeron Cookbook into the Aeron.io family. This means that it will become an official part of the Aeron documentation, with a wider range of contributors.
- Added a section on Gateway Design
- Updated Aeron to 1.41.0, Agrona to 1.18.0 and Simple Binary Encoding to 1.28.1
- Updated to Aeron 1.41.1, Agrona 1.18.1 and SBE 1.28.2
- Updated to Aeron 1.41.2
March 2023¶
- RFQ cluster sample has been rebuilt from scratch using Simple Binary Encoding and the Adaptive Aeron Cluster quickstart.
- Removed docker
aeroncookbook:jdk17
images from sample code; docker samples are now based off of Azul Zulu JDK 17 images. This solves issues with running the docker samples on non-x86 CPU architectures. - Added link to Adaptive's Aeron Cluster quickstart which shows a simple cluster (built using an SBE protocol) running on Kubernetes and Docker
- Added a new cookbook item for Aeron Cluster: How to run Aeron Cluster on Kubernetes
February 2023¶
- Restructured the cluster-core samples into dedicated Async, RSM and RFQ projects.
- Removed infrastructure logic from the cluster RSM example to allow a cleaner, and far simpler to test RSM
- Replaced Eider with SBE in Async and RSM examples.
- Moved to Gradle 8 with Kotlin script for the Aeron Cookbook Example Code. Also removed Shadow Jar plugin.
- Removed
SimplestCase
sample from Aeron Cluster as it is not realistic of how one would use Aeron Cluster. - Added an SBE sample showing encoding and decoding without a message header, see GitHub.
- Tighter checkstyle rules, with associated tidy ups.
November 2022¶
- Fixed bad example in Aeron Debugging and added more details on accepted units.
- Clarified that
offer
cannot be called on theCluster
object duringonStart
in Cluster Timers - Added a new cookbook item for Aeron Cluster: How to create startup tasks
October 2022¶
- Started work on updates to Agrona content on non-boxing methods added to a number of collection classes in Agrona 1.17.0
- Examples adapted for Aeron 1.40.0, SBE 1.27.0, Agrona 1.17.1
- Updates to Aeron Archive examples for changes around
Archive.Context
andAeronArchive.Context
August 2022¶
- Updates to the cluster stream identifiers in Understanding Cluster Counters
- Clarifications to the dynamic Aeron Agent configuration in Aeron Agent
July 2022¶
- Bump Aeron to 1.39.0, Agrona to 1.16.0 and SBE to 1.26.0
May 2022¶
- Clarification around using
tryClaim
inConcurrentPublication
in Publications & Subscriptions
April 2022¶
- Bump Aeron to 1.38.1, Agrona to 1.15.1 and SBE to 1.25.3
- Bump Aeron to 1.38.2 and update C Media Driver build pages. Note there is no Java release for 1.38.2, so Java-specific pages are left on 1.38.1
- Clarifications to client data loss during leader failure in Raft. See Consensus Algorithms
March 2022¶
- Minor clarifications in Aeron Cluster election state descriptions
December 2021¶
- Election states reviewed against changes in 1.37.0. No change noted.
- Removed integrated site feedback - did not provide any actionable insights.
November 2021¶
- Integrated page feedback added
- Bump Aeron to 1.37.0, Agrona to 1.14.0 and SBE to 1.25.1
- Updated notes for building the C Media Driver on macOS
- Bump Aeron to 1.36.0, Agrona to 1.13.0 and SBE to 1.25.0
October 2021¶
- Corrections to RAFT content.
- Prepare for integrated site feedback.
September 2021¶
- Update to Aeron 1.35.1
August 2021¶
- Added Async Publication APIs to Publications & Subscriptions
- Added Working with Recordings to the Aeron Archive section.
- Added Unable to allocate Counter error to the Aeron common errors section.
- Added a note about the join position in a
Subscription
sub-pos
as seen in Aeron Stat - Update to Aeron 1.35.0, Agrona 1.12.0, SBE 1.24.0. Note that the Election State diagram has a pending minor change.
June 2021¶
- Introduction to Multi-Destination-Cast, with a focus on Dynamic Multi-Destination-Cast Publications.
- Snowflake Identity Generator (as found in Agrona 1.11.0)
- Is there a simpler way for a utility to connect to a local Aeron Archive?
- Aeron Cluster Gateway Patterns
- Bump SBE to 1.23.0
- Bump Agrona to 1.11.0
- Bump Aeron to 1.34.0
May 2021¶
- Multi-host Aeron Archive sample
- Added Aeron Archive Replication Sample
- Dynamic Aeron Agent (as found in Aeron 1.33.0+)
- Added usage sample for the standard Aeron Agent
- Building the C Media Driver on CentOS Linux 8
- Minor updates on maximum position in Understanding Aeron Position
- Added notes on JEP 403 and JDK 17 to Running Aeron on JDK 16 and JDK 17
- Added draft content for Message Passing to Distributed Systems Basics
- Note on needing the
Archive.Context.archiveClientContext()
when replicating archives from remote machines in Aeron Archive Overview - Bump Aeron to 1.33.1
- Bump Agrona to 1.10.0
- Bump SBE to 1.22.0
- Moved table of content navigation into left side navigation
- Improvements to dark mode & embedded videos
April 2021¶
- Clarification to Aeron Debugging
- Running Aeron on JDK 16
- Clarification on UDP checksums in How to add an application checksum to messages
- Updates to Election States for Aeron 1.33.0
- Updates to Understanding Cluster Counters for Aeron 1.33.0
- Updates to Aeron Tooling and RPC Server - Running the sample for Aeron 1.33.0
- Draft Dynamic Aeron Agent (as found in Aeron 1.33.0)
- Clarification on the role of Agent Runner in Agents and Idle Strategies
March 2021¶
- Added How to decode Aeron network data captures with Wireshark
- Clarifications on the link of MTU length to position; see Understanding Aeron Position
- First cut of Troubleshooting Aeron and Aeron Cluster
- How to add an application checksum to messages
- New section on network latency impacts in Performance Limits
- Update sample code to Java 16
February 2021¶
- Corrections to null handing in Simple Binary Encoding
- Additional clarifications and details on the output of AeronStat
- Improvements to the Aeron cluster send-to-cluster-log documentation under Cluster Timers
- Discussion on Aeron Cluster Sharding
- Additional Cluster Error cases
- Added
BroadcastTransmitter
andBroadcastReceiver
to Agrona Concurrent collections - Removed Eider as a compile time dependency to the sample code
January 2021¶
- Initial version of Cluster Clients
- Updates to AeronStat options in Aeron Tooling
- First cut of Understanding Aeron Cluster Counters
- Added tryClaim to OneToOneRingBuffer in Agrona Concurrent Collections
- Added notes on the error Cannot assign requested address
- Improvements to Publications & Subscriptions around buffer reuse in FragmentHandlers & a common misunderstanding around which addresses to use in publications & subscriptions
- Initial content for Cluster Errors
- Add Aeron Cluster Election States
- Initial ArchiveTool details Aeron Archive Tooling
- Added an alternative to Aeron Cluster Timers for cases when you want a message sent back to the cluster for processing as soon as possible, but not before any pending sequenced messages are processed. Efficient Business Logic adjusted to mention the approach as well.
- Bump SBE to 1.21.0, Aeron to 1.32.0
December 2020¶
- Building the C Media Driver on macOS
- Building the C Media Driver on Ubuntu 20.04
- Building the C Media Driver on Windows 10
- New section on Cluster Client Consistency
- Added ControlledMessageHandler to OneToOneRingBuffer in Agrona Concurrent Collections
- Swapped out Eider for Simple Binary Encoding in the Aeron RPC sample
- Changed the Aeron IPC sample to send ~10 million messages/second on a laptop
- Added performance notes to Aeron IPC sample, plus changes needed to run with the Aeron C Media Driver
- Added Two Agent example of OneToOneRingBuffer
- Added ManyToOneRingBuffer in Agrona Concurrent Collections
- Added Three Agent example of ManyToOneRingBuffer
- Minor update to Publications & Subscriptions regarding read only nature of the buffer in FragmentHandlers,
ExclusivePublication
being required for initial position replay, and the variousoffer
variants - Minor update to Aeron Cluster Timers around cluster snapshots and timers.
- Added Log Inspector to Aeron Tooling
- Added How to increase Aeron timeouts for debugging to the cookbook
- Bump Agrona to 1.9.0 and SBE to 1.20.4
- Added initial details on the C Media Driver to the Media Driver section
- Added note on the C versions of AeronStat, ErrorStat, LossStat to Aeron Tooling
November 2020¶
- Bump Aeron to 1.31.1
- New section on Reference Data within Aeron Cluster
- New section on Efficient Business Logic in Aeron Cluster
- New section on Databases and Aeron Cluster
- Clarifications on Aeron Cluster Timers
- Updates to Cluster Performance Limits
October 2020¶
- Bump Aeron to 1.31.0, Agrona to 1.8.0, SBE to 1.20.3
- Switch to JDK 15
- Site fixes for mobile devices, printing
- Agrona Concurrent Collections
- Added Long2x collections to Agrona Data Structures
- Aeron Channels, Streams and Sessions
- Clarification in Publications & Subscriptions about a
Publication
not being able to send until aSubscription
is ready - Note on potential timer data structures in Threads, Agents & Duty Cycles
September 2020¶
- Bump Aeron to 1.30.0
- Bump Agrona to 1.7.2
- Bump SBE to 1.20.2
- Performance Limits of Aeron Cluster
- Improved site search with better structured results, search term highlighting. Dark mode support - note that some issues remain with dark mode & SVGs.
August 2020¶
- Start building out the task oriented cookbook content
- New cookbook content for Aeron, Aeron Cluster and Agrona topics
- Additional Aeron Common Error content for Active Driver, Message Size
- Clarifications in Term Buffer Lengths in Log Buffers & Images
- LossStat and BacklogStat added to Aeron Tooling
- Further details on how to read AeronStat output, see Aeron Tooling
- Fixed various broken internal links
- Understanding Aeron's Position and how to see it via AeronStat and other tools, see Position
- Bump Agrona to 1.7.0 and SBE to 1.20.0
July 2020¶
- RFQ server Aeron Cluster sample and content added
- Aeron Archive overview rewritten
- Backpressure section improved
- Replicated State Machine updates
- Link added to Aeron Cookbook from Official Aeron Wiki
- Agrona 1.6.0 updates
- SBE 1.19.0 updates
- Aeron 1.29.0 updates
- Switched typography to fonts better suited to longer form text
- Reduce color intensity of the site, reworking all images and animations
- Contact page added
- Link to Issues added
- Threads, Agents & Duty Cycles added
- Reduced page size by ±10%
June 2020¶
- Switch all diagrams to SVG
- Vector Clocks added Vector Clocks section
- Async Systems added
- Consensus Algorithms added
- RPC server Aeron RPC sample and content added
- Rewrite Media Driver content
- Log Buffers & Images content added
- Aeron Cluster Timers content extended
- Aeron Cluster Basic Sample added snapshoting details
May 2020¶
- Improved Aeron IPC sample
- Total Ordering added
- Vector Clocks added Lamport Clocks section and sample
- Agrona Direct Buffers added a section and samples for UnsafeBuffer
- Aeron 1.28.x updates
(The changelog was not captured prior to May 2020)