github real-logic/aeron 1.43.0

latest releases: 1.44.1, 1.44.0, 1.41.6...
4 months ago
  • [Driver] Support specifying endpoints and tags in the same URI
  • [C Driver] Add reference id to counters.
  • [Driver] Set reference id of sub-pos to registration id of the image/publication.
  • [C Client] Fix aeron_print_counters.
  • [Java Driver] Touch ups for RetransmitHandler.
  • [C Driver] Put enum events in order.
  • [C Driver] Remove reliance of max event num in enum for driver agent.
  • [C Driver] Fix signed comparisons.
  • [C Driver] Declare void param.
  • [C Driver] Keep loop types consistent.
  • [Java Driver] Add a clamp on retransmit length.
  • [Java Client] Fix Aeron.getSubscription(long) JavaDoc.
  • [Java Driver] Encapsulate retransmit multiples constants.
  • [Samples] Add sample code to support stress testing of MDC and Unicast connections.
  • [Cluster] Mark services as active only after they have successfully started.
  • [Driver] Improve error messages reported by clients if the Media Driver has been shutdown.
  • [C Client] Populate the client image subscriber_position_id.
  • [Cluster] Improve error message when cluster fails to connect.
  • Add detailed version information to Aeron error counters for all components. Include release version and Git SHA.
  • [C Driver] Fix capture of spy subscription channels so that image availability callbacks include the correct subscription URI.
  • [C] Use -fno-omit-frame-pointer on Linux native builds so provide easy and accurate profiling with tools like perf.
  • Add +guilty to version information if using a build that has changes that have not been committed to git.
  • [C Client] Correctly handle the case where an image is used across multiple subscriptions. Including ensuring the unavailability callbacks a delivered correctly.
  • [Archive] Exclude invalid recordings from ArchiveTool describe and add a describe-all command which shows valid and invalid recordings.
  • [C Driver] Introduce a parameters structure that can be used to carry transport configuration information when initialising a udp_channel_transport. Also pass MTU information through the bindings to allow for improved validation of within the DPDK bindings.
  • [Driver] Only include timestamps on packets that carry the DATA_BEGIN_FLAG to prevent accidental corruption of packets when the timestamp is being carried within the payload.
  • [Cluster] Remove the need for MDS subscription on cluster ingress by having a separate IPC ingress subscription when required. Plus await sockets closing on the log subscription in parallel with the other activities when preparing for an election.
  • [Cluster] A leader should assert its leadership when a follower requests a vote and the leader has a more up-to-date log rather than re-initialising an election which could result in log truncation.
  • [C Driver] Ensure loop iteration index is used when setting timestamps for publication.
  • [Cluster] Log event for unknown session close in service container rather than throw and exception.
  • [Cluster] Throw exception if a member id is not found in the cluster backup's configuration.
  • [Cluster] Avoid list creation when throwing an exception.
  • [Archive] Add ArchiveTool mark-valid, mark-invalid commands. These provide a way to patch the catalog in an emergency.
  • [Cluster] Ensure that the ClusterMarkFile link is created using the parent directory from the MarkFile object.
  • [Driver] Add stricter validation on control addresses, including: Require control address with control-mode=dynamic. Allow control addresses on non-MDC unicast publications. Add clearer validation on control-mode when using tags.
  • [Driver] Introduce an enum to track the control mode specified on Channel URIs.
  • [Driver] Update pub-pos when updating pub-lmt.
  • [Java Driver] Check if CnC file has error log buffer allocated.
  • [Driver] Print usable space when throwing StorageSpaceException or returning an error.
  • [C Samples] Make AeronStat respect update interval option. AeronStat was effectively ignoring -u and incorrectly using -t instead.
  • [Java] Fix NullPointerException in LogBuffers when construction fails with an exception.
  • [Driver] Add counter to represent the number of bytes mapped by the Driver.
  • [Driver] Pass in setup triggering SMs into flow control so that tags can be matched for controlling setup sender limiting.
  • [C] Fix client image reference counting by use the appropriate literals to ensure that 64-bit parameters are used.
  • [Cluster] Call unexpectedTermination on incompatible app versions in the ConsensusModuleAgent.
  • [C Driver] Implement low storage warnings for the C driver.
  • [Java Driver] Backoff from sending when a short send it detected by polling for status messages as a means to provide a little breathing room for underlying stack.
  • [Cluster] Detect when log subscription in an election has an error, such as bind exception, throw an exception giving context and restart election.
  • [Cluster] Close log subscription after prepareForNewLeadership.
  • [Cluster] Introduce SnapshotDurationTracker to track the time taken for snapshots in the Cluster.
  • [Java] Rename aeron-version module to aeron-annotations.
  • [C Driver] add max_retransmission_length.
  • [Java] Remove suffix from version.
  • [Cluster] Stop log recording even if an image has not been picked up and no need to try stop the recording by identity if stopped by log subscription id.
  • [Cluster] Increase visibility from private to package-protected for a number of ClusterTool utility methods.
  • [Cluster] Add STANDBY as a component type to cluster mark file codec.
  • [Cluster] Add cluster services directory to the cluster mark file and allow it to be set via the ConsensusModule.Context. This means that ClusterTool can resolve the location of the service container mark files even if they are not stored in the same directory.
  • [C++] Use static constexpr for declaring constants.
  • [C/C++] Use functions to return version information to enable runtime version checks against the media driver.
  • [C++ Wrapper Client] Allow to access the underlying client of the C++ wrapper.
  • [C Driver] Fix error reporting for aeron_port_manager.
  • [C Driver] Implement timestamp capturing for the recvmsg path.
  • [C Driver] Switch sender poller to poll for a single SM, i.e. do the recvmsg syscall.
  • [C Driver] Add additional validation for frame_length on status messages.
  • [C Driver] Fix error format strings when configuring sockets for the udp transport.
  • [C/C++] Remove date/time from the version files for a reproducible build.
  • [C] Fix line ordering bug and add missing return statements and error appending.
  • [Driver] Allow publication image flow control under runs if they are heartbeats so a stream can be kept connected and to get a more accurate EOS when using MDS.
  • [C Driver] Use correct type for array length calculation, fix #1539.
  • [Driver] Track EOS position per image connection for MDS.
  • [C++ Wrapper] Fix maxMessageLength.
  • [C++ Wrapper] Fix FragmentAssembler.
  • Upgrade to AsciiDoctorJ 2.5.10
  • Upgrade to JGit 5.13.2.202306221912-r
  • Upgrade to Versions Plugin 0.50.0
  • Upgrade to ByteBuddy 1.14.10
  • Upgrade to ASM 9.6.
  • Upgrade to Agrona 1.20.0
  • Upgrade to JUnit 5.10.1
  • Upgrade to SBE 1.30.0

Don't miss a new aeron release

NewReleases is sending notifications on new releases.