Skip to content

Transport Bindings Change Log

Daniel Shearer edited this page Dec 4, 2025 · 7 revisions

This page has moved. See:


1.49.2 (2025-11-24)

  • [DPDK] Fix a bug whereby a Cluster node running with the DPDK driver could not connect to the rest of the Cluster nodes during a rolling upgrade.

    A newly started node was stuck in a CANVASS election state while trying to establish an initial connection on a consensus channel. While the leader node was actively sending Raft log data using an MDC log publication, i.e. which meant that it send the data to all destinations whether they were connected or not. The receiver was forwarding all unknown packets to the sender thread and since the newly started node didn’t have a log subscription it meant that all log data was forwarded. This in turn led to the sender queue overflowing causing packets to be dropped, including SMs. Which meant that the connection from this node to the rest of the Cluster could not be established.

    Now the traffic is terminated early instead being forwarded to the sender thread, i.e. only valid sender-specific frames are being forwarded (i.e. NAK, SM, ERR, RTTM, RSP_SETUP and ATS_SM). While the rest of the unhandled packets are discarded and the new RX Receiver DISCARD counter is incremented. If an invalid packet is encountered then an existing system counter Invalid packets is incremented instead.

  • [DPDK] Make sender RX ring buffer size configurable. Default size is 64KB + AERON_RB_TRAILER_LENGTH. Which now can be changed via AERON_DPDK_SENDER_RX_RING_BUFFER_SIZE environment variable.

  • [DPDK] Optimize packet processing by allocating aligned buffer once per dpdk_poller and using it for assembling fragmented packets.

  • [DPDK] Add counters for when packets are discarded by the receiver.

  • [DPDK] Add event logging when packet is discarded by the sender thread.

  • [DPDK] Clarify network byte order usage and use DPDK APIs/types where applicable.

  • [EF_VI] Upgrade to OpenOnload 9.1.0.24.

  • Move all counter types to Aeron.

    Warning

    ATS counter type ids where changed, i.e. previously type ids rang was 70-79 while the new range is 65-74.

    #define AERON_COUNTER_ATS_TRANSPORTS_TYPE_ID (65)
    #define AERON_COUNTER_ATS_DISCARDS_NON_ATS_TYPE_ID (66)
    #define AERON_COUNTER_ATS_BYTES_ENCRYPTED_TYPE_ID (67)
    #define AERON_COUNTER_ATS_BYTES_DECRYPTED_TYPE_ID (68)
    #define AERON_COUNTER_ATS_AEAD_ERRORS_TYPE_ID (69)
    #define AERON_COUNTER_ATS_RSA_KEY_UNKNOWN_TYPE_ID (70)
    #define AERON_COUNTER_ATS_EC_KEY_SIG_ERRORS_TYPE_ID (71)
    #define AERON_COUNTER_ATS_UNICAST_RE_KEYINGS_TYPE_ID (72)
    #define AERON_COUNTER_ATS_UNICAST_RE_KEYING_RSA_KEY_MISMATCH_TYPE_ID (73)
    #define AERON_COUNTER_ATS_DROPPED_SM_TYPE_ID (74)
  • Upgrade to Aeron 1.49.2.

  • Upgrade to CMake 4.1.3.

1.49.1 (2025-11-01)

  • [DPDK] Fix sender/receiver address re-resolution not being performed.

  • Upgrade to Aeron 1.49.1.

1.49.0 (2025-10-03)

  • Upgrade to Aeron 1.49.0.

  • [DPDK] Upgrade to DPDK 25.07.

  • [ATS] Upgrade to OpenSSL 3.6.0.

  • Upgrade to CMake 4.1.2.

  • Add Clang 21 to release matrix.

1.48.10 (2025-11-21)

  • [DPDK] Fix a bug whereby a Cluster node running with the DPDK driver could not connect to the rest of the Cluster nodes during a rolling upgrade.

    A newly started node was stuck in a CANVASS election state while trying to establish an initial connection on a consensus channel. While the leader node was actively sending Raft log data using an MDC log publication, i.e. which meant that it send the data to all destinations whether they were connected or not. The receiver was forwarding all unknown packets to the sender thread and since the newly started node didn’t have a log subscription it meant that all log data was forwarded. This in turn led to the sender queue overflowing causing packets to be dropped, including SMs. Which meant that the connection from this node to the rest of the Cluster could not be established.

    Now the traffic is terminated early instead being forwarded to the sender thread, i.e. only valid sender-specific frames are being forwarded (i.e. NAK, SM, ERR, RTTM, RSP_SETUP and ATS_SM). While the rest of the unhandled packets are discarded and the new RX Receiver DISCARD counter is incremented. If an invalid packet is encountered then an existing system counter Invalid packets is incremented instead.

  • [DPDK] Make sender RX ring buffer size configurable. Default size is 64KB + AERON_RB_TRAILER_LENGTH. Which now can be changed via AERON_DPDK_SENDER_RX_RING_BUFFER_SIZE environment variable.

  • [DPDK] Optimize packet processing by allocating aligned buffer once per dpdk_poller and using it for assembling fragmented packets.

  • [DPDK] Add counters for when packets are discarded by the receiver.

  • [DPDK] Add event logging when packet is discarded by the sender thread.

  • [DPDK] Clarify network byte order usage and use DPDK APIs/types where applicable.

  • Move all counter types to Aeron.

    Warning

    ATS counter type ids where changed, i.e. previously type ids rang was 70-79 while the new range is 65-74.

    #define AERON_COUNTER_ATS_TRANSPORTS_TYPE_ID (65)
    #define AERON_COUNTER_ATS_DISCARDS_NON_ATS_TYPE_ID (66)
    #define AERON_COUNTER_ATS_BYTES_ENCRYPTED_TYPE_ID (67)
    #define AERON_COUNTER_ATS_BYTES_DECRYPTED_TYPE_ID (68)
    #define AERON_COUNTER_ATS_AEAD_ERRORS_TYPE_ID (69)
    #define AERON_COUNTER_ATS_RSA_KEY_UNKNOWN_TYPE_ID (70)
    #define AERON_COUNTER_ATS_EC_KEY_SIG_ERRORS_TYPE_ID (71)
    #define AERON_COUNTER_ATS_UNICAST_RE_KEYINGS_TYPE_ID (72)
    #define AERON_COUNTER_ATS_UNICAST_RE_KEYING_RSA_KEY_MISMATCH_TYPE_ID (73)
    #define AERON_COUNTER_ATS_DROPPED_SM_TYPE_ID (74)
  • Upgrade to Aeron 1.48.10.

1.48.9 (2025-11-11)

1.48.7 (2025-11-01)

  • [DPDK] Fix sender/receiver address re-resolution not being performed.

  • [DPDK] Fix Ubuntu release build, i.e. python could not find installed elftools package.

  • Upgrade to Aeron 1.48.7.

1.48.6 (2025-08-08)

1.48.5 (2025-07-21)

  • [ATS] Bump OpenSSL to 3.5.1.

  • [EF_VI] Bump OpenOnload to 9.0.2.140.

  • Bump Aeron to 1.48.5.

  • Bump CMake to 4.0.3.

1.48.4 (2025-06-27)

1.48.3 (2025-06-20)

Changed

1.48.2 - 2025-06-12

Changed

1.48.1 - 2025-06-06

Changed

1.48.0 - 2025-06-03

Changed

  • [ATS] Bump OpenSSL to 3.5.0.

  • [ATS] Updated documentation.

  • [DPDK] Upgrade to DPDK 25.03.

  • [DPDK] Fix type id of the AERON_DPDK_COUNTER_ARP_MISS_TYPE_ID counter.

  • [DPDK] Remove AERON_DPDK_COUNTER_RX_DISCARD_NON_IP_TYPE_ID and AERON_DPDK_COUNTER_RX_DISCARD_NON_UDP_TYPE_ID counters.

  • [DPDK] Free aeron_dpdk_poller_t on error.

  • [DPDK] Build with -Dplatform=generic by default.

  • [C] Refactor counter usage based on the Aeron API changes.

  • [C] Disable Archive API to avoid calling into Java build.

  • Upgrade to Aeron 1.48.0.

  • Bump CMake to 4.0.2.

1.47.5 - 2025-05-09

Changed

  • [DPDK] Add debug tools to the release package.

  • Upgrade to Aeron 1.47.5.

1.47.4 - 2025-03-14

Changed

  • [DPDK] Downgrade to DPDK 24.07 due to performance regression on AWS.

  • [ATS] Upgrade to OpenSSL 3.4.1.

  • Upgrade to Aeron 1.47.4.

1.47.3 - 2025-02-14

Changelog

  • [C] Upgrade to Aeron 1.47.3.

Known issues

  • [DPDK] Performance regression in DPDK 24.11 on AWS. See below.

1.47.2 - 2025-01-30

Changelog

  • [C] Upgrade to Aeron 1.47.2.

Known issues

  • [DPDK] Performance regression in DPDK 24.11 on AWS. See below.

1.47.1 - 2025-01-29

Changelog

  • [C] Fix ats_counter_transports_allocate to use the type_id parameter.

Known issues

  • [DPDK] Performance regression in DPDK 24.11 on AWS. See below.

1.47.0 - 2025-01-17

Changelog

  • [ATS] Upgrade to OpenSSL 3.4.0 and latest patch release versions.

  • [ATS] Update documentation to remove the term 'certs' to avoid confusion.

  • [ATS] Build ATS on Rocky 9.

  • [DPDK] Upgrade to DPDK 24.11.

  • [DPDK] Enable only supported DPDK drivers.

  • [DPDK] Expose extra DPDK stats as Aeron counters. Reduce update interval to once per second.

  • [DPDK] Check result of the rte_eth_link_get call.

  • [DPDK] Update to match new concurrency primitives in Aeron.

  • [EF_VI] Upgrade to OpenOnload 9.0.1.86.

Known issues

  • [DPDK] Performance regression in DPDK 24.11 on AWS.

Running aeronmd_dpdk on AWS produces the following warning during startup: `bash ENA_DRIVER: ena_set_queues_placement_policy(): NOTE: LLQ has been disabled as per user’s request. This may lead to a huge performance degradation! ` This happens due to changes in LLQ configuration in 24.11 release whereby the default value was not set. This is already fixed in the upcoming DPDK 25.03 release. As the result the latency with DPDK is about 100x worse compared to the previous release.

As a workaround LLQ can be manually enabled via startup parameters: bash $ ./aeronmd_dpdk --no-telemetry -l 0 -a "${DPDK_DEVICE},llq_policy=1" ` where `DPDK_DEVICE refers to DPDK interface as listed by the dpdk-devbind.py --status-dev net, e.g.: `bash $ ./aeronmd_dpdk --no-telemetry -l 0 -a "0000:00:06.0,llq_policy=1" `

1.46.1 - 2024-10-10

  • [C] Update to match new concurrency primitives in Aeron OSS.

  • [Java] Upgrade to Aeron 1.46.5.

  • [Java] Upgrade to Agrona 1.23.1.

  • [Java] Upgrade to SBE 1.33.1.

1.46.0 - 2024-08-25

Breaking changes

  • JDK 17 is required for compiling and running!

Changelog

  • [DPDK] Fix off-by one error when computing the subnet mask. For example, for IP address 10.192.160.0/19 the mask was computed as 255.255.192.0 whereas the correct value is 255.255.224.0.

  • [DPDK] Allow gateway and local address to be left as empty strings for AWS.

  • [DPDK] Explicitly enable only supported network drivers during a build.

  • [DPDK] Upgrade to DPDK 24.07.

  • [ATS] Upgrade to OpenSSL 3.3.1.

  • [Java] Upgrade to Aeron 1.46.0.

  • [Java] Upgrade to Agrona 1.23.0.

  • [Java] Upgrade to SBE 1.33.0.

  • [Java] Upgrade to Gradle 8.10.

  • [Java] Upgrade to ByteBuddy 1.15.0.

  • [Java] Upgrade to Shadow 8.3.0.

  • [Java] Upgrade to bnd 7.0.0.

  • [Java] Upgrade to Mockito 5.12.0.

  • [Java] Upgrade to AsciiDoctor 2.5.13.

  • [Java] Upgrade to JGit 6.10.0.202406032230-r.

  • [Java] Force ASM 9.7.

1.44.7 - 2025-07-10

Changed

Clone this wiki locally