πTalon 3.16.70
Release Date: Friday, March 20, 2026
Known issue β skip this release if you use the Rumi management agent. The Process RSS metric added in this release (TALON-146) was assigned a heartbeat-schema field id that collides with one Rumi 4.0 already uses, with an incompatible type. As a result the rumi-agent (2.0.x) cannot deserialize heartbeats from any XVM running 3.16.70 and drops every per-XVM metric from the management dashboard. This is fixed under TALON-159 in Talon 3.16.72 (X Platform 3.16.39). Upgrade directly to 3.16.72 rather than deploying 3.16.70; customers on 3.16.63 or earlier are unaffected.
Compatibility Notes
The following issues have compatibility implications:
Change Summary
Bugs
TALON-137
Intermittent core dump when enabling ZG per thread stats
This release fixes an intermittent core dump that could occur when ZG (Zero Garbage) per thread stats were enabled. The fix replaces the previous ThreadMXBean reflection-based approach with native JNI calls for per-thread telemetry collection, which is both more reliable and truly zero-garbage.
Compatibility impact:
Per-thread stats now require the native library to be available. If the native runtime is not loaded, per-thread stats will be unavailable (previously there was a non-ZG fallback using
ThreadMXBean).The non-ZG fallback for per-thread stats has been removed. Environments that relied on per-thread stats without the native library will no longer have this capability.
Per-thread wait time, wait count, and affinity fields are no longer reported in individual thread stats within XVM heartbeats. Thread affinities can still be ascertained via:
Automatic dump at engine start: When thread affinitization is enabled, the AEP engine automatically logs the affinitization state at startup (at
CONFIGtrace level).XVM admin command: The
affinitydump(orxvm_affinitydump) admin command can be invoked at any time to dump the current thread affinitization state to the XVM's trace log.
There is a maximum limit of 2048 native threads that can be tracked per collection cycle.
New Features
TALON-98
Non-zero exit code from the XVM on error
This release enhances the XVM to return a non-zero exit code if an error causes its exit
TALON-146
Add Process RSS (Resident Set Size) metric to XVM heartbeats
This release adds the current process's Resident Set Size (actual physical RAM usage) in the container heartbeats
Note: the heartbeat field id assigned to this metric collides with the Rumi 4.0 schema and breaks rumi-agent heartbeat deserialization (see the known-issue notice at the top of this page). The collision is corrected under TALON-159 in Talon 3.16.72.
Improvements
TALON-143
Add PostWireTs to service message logs and store transaction logs
Adds PostWireTs β the timestamp captured just after a message is received from the messaging provider β to the inbound message log (Event Sourcing and State Replication) and the store transaction log (Event Sourcing only). Not added to the store transaction log or outbound message log for State Replication. Requires nv.msg.latency.stats=true.
TALON-144
Add PreWireTs to service message logs
Adds PreWireTs β the timestamp captured just before a message is handed to the messaging provider send call β to the inbound message log (Event Sourcing and State Replication) and the store transaction log (Event Sourcing only). For inbound messages, PreWireTs is the upstream sender's pre-send timestamp; PostWireTs minus PreWireTs represents the wire transit time (not accounting for clock skew). Not added to the store transaction log or outbound message log for State Replication. Requires nv.msg.latency.stats=true.
TALON-145
Enable parallel builds using ADM Maven Plugin
This release makes the ADM Maven plugin thread-safe, enabling parallel code generation during concurrent Maven builds (mvn -T). Shared static state in the plugin (import cache, plugin registry, date formatters) has been synchronized using thread-safe collections and ThreadLocal, and all Mojo goals are now declared threadSafe = true.
Changes
TALON-147
Change freePhysicalMemorySize heartbeat field to report MemAvailable instead of MemFree on Linux.
This release changes the freePhysicalMemorySize field in container heartbeat memory stats to report the host's available memory (MemAvailable) rather than raw free memory (MemFree) on Linux. Priopr to this change, the value excluded memory used by the kernel for page cache and buffers, which made the host appear to have far less usable memory than was actually available. This change accounts for reclaimable cache and buffers, providing a more accurate representation of the memory available for use.
Last updated

