X Platform Documentation Portal

Release Notes

X Platform Documentation Portal

Skip to end of metadata
Go to start of metadata

Release Date: Monday, February 05, 2018

Release Highlights

  • Beta Introduction of XSQL based query and indexing for StateReplication applications.
  • Several new DDL features including support for profiles, templates, xvm specific environment, and provisioning for robin.
  • JMS Binding Improvements.
  • Improvements in Talon Archetypes.

 

Change Log

New Feature

XPLATFORM-1120 - Allow DDL to provide vm scoped <env> section which overrides global env.

This release provides the ability to specify XVM specific <env> properties in config DDL. For example:

Would result in the XRruntime for server-1 ending up with:

  • property1=value1
  • property2=value2a (from xvm specific env)
  • property3=value3a (from xvm specific env)

(warning) documentation is still in progress for the feature

CONFIGURATION

XPLATFORM-1524 - Allow validation of solace queue's configured max bind count

This release introduces the ability to validate and enforce the value of a solace queue's max bind count when starting a solace message bus binding by setting

See Enforcing Max Queue Bind Count in the Talon Manual for more details

SOLACE BINDING

XPLATFORM-1665 - Add support for DDL config templates

This release provides the ability for DDL config to define template apps, buses and xvms that can provide base configuration shared by multiple applications.

For example in the following DDL snippet tracing configuration is defined in the "app-template" which is referenced by the ems1 app which inherits that configuration.

See DDL Config Reference for more details

(warning) documentation is still in progress for the feature

CONFIGURATION

XPLATFORM-1668 - Add support for DDL config profiles.

This release introduce DDL profiles as a new configuration feature. DDL profiles allow defining overlay configuration directly inside a the <profiles> section of a DDL. DDL profiles can be activated explicitly or via the profile's <activation> element which support the ability to automatically activate a profile based on environment variables.

In the above code snippet if DDL is parsed with -Dnv.ddl.profiles=troubleshooting, the configuration defined in the troubleshooting profile will be overlaid on top of the main configuration.

See DDL Config Reference for more details.

(warning) documentation is still in progress for the feature

CONFIGURATION

XPLATFORM-1782 - TransactionLogTool compact command should provide an option to specify target log file size.

This release enhances the Transaction Log Tool's compact command to allow specifying the initial length of the new file into which to compact by using the '-i initialLogSizeBytes' option flag.

ODS
TALON
TOOLS

XPLATFORM-1786 - Allow registration of custom bus providers in DDL

This release allows registration of custom message bus providers in DDL which allows custom message bus binding implementation to be used with out having to register the messaging provider programatically.

See: Message Bus Provider Configuration

CONFIGURATION
SMA

XPLATFORM-1793 - Provide ability to pass properties to ADM CodegenListeners

This release implements the ability to pass properties to an ADM codegen listener via the maven plugins.

Below is example of passing properties

Properties can then be accessed by the listener via the event passed to it:

ADM
MAVEN PLUGINS

XPLATFORM-1817 - Provide support for specifying provisioning information in DDL

This release provides the ability to specify provisioning information in DDL Config. For example:

This allows provisioning tools such as Robin or Lumino to leverage configuration directly from DDL rather than relying on additional files such as <xvmname>.jvmparams or <xvmname>.env

For more information see DDL Config Refefence

(warning) documentation is still in progress for the feature

CONFIGURATION

XPLATFORM-1837 - Create TibcoEmsMessageBusBinding with support for Guaranteed Messaging

This release provides a tibco ems message bus binding provider that supports Guaranteed Qos. The ems provider can be enabled by replacing the jms://... with tibems://.

JMS BINDING

XPLATFORM-1838 - Allow JMS binding to make connection retry attempts

This release changes the JMS to allow it to make connection retry attempts when the initial connection attempt to the broker fails. Prior to this release, only a single connection attempt would be made which may not be enough in the event that the message broker has not detected the connection drop of a primary application instance when a backup takes over. Two new binding properties were introduced to support this functionality:

  • connection_open_retry_count the number of connection retries to make after a failed attempt to open the JMS Connection. Defaults to 10
  • connection_open_retry_interval the interval at which connection retry attempts are made in seconds. Defaults to "1s"
    Compatibility Notes:

     

    This change will increase the amount of time it will take for an application to detect that another instance is already connected to the message bus. Setting connection_open_retry_count=0 for the bus will revert to the previous behavior.

JMS BINDING

XPLATFORM-1839 - Treat empty string variables in dynamic topic as null

 

This release allows treating channel key fields from either a message or key resolution table that are resolved as an empty, 0 length string, to be treated as null. This functionality can be enabled by setting the environment property: nv.sma.treatemptykeyasnull.

See Also: The Talon Manual

SMA

XPLATFORM-1858 - Support programmatic creation of Store indexes in AepEngine

This release introduces beta APIs for using indexes and querying from Talon applications. The Javadoc for AepEngine class provides more information.

QUERYING

XPLATFORM-1865 - Provide the ability to configure cluster leader election priority for deterministic startup role

This feature allows user to configure the preferred cluster primary when starting a cluster by configuring an election priority for the store as follows.

When 2 members connect and either instance is equally eligible to assume the primary role this knob gives priority to the member with the lowest configured priority

ODS

XPLATFORM-1879 - Provide AepEngine getEngineTimeMicros()

This release provides a new AepEngine method, getEngineTimeMicros(), which returns the wall time in microseconds since the epoch in an HA consistent fashion. This method is akin to the existing getEngineTime() method.

See AepEngine.getEngineTimeMicros()

AEP

XPLATFORM-1880 - Update Talon archetypes with new 3.8 config features.

This release updates the Talon archetypes to leverage the new DDL config features for templating and profiles.

MAVEN ARCHETYPES

XPLATFORM-1891 - Implement Store Data Size statistic.

This release enhance the ODS store to track the total size of data that it holds and emit it along with store statistics in heartbeats. The store data size statistic captures the sum of serialized data size of the objects that it holds. This is a useful metric for determining the size of the data held in the store exclusive of java object overhead.

See Also:

XPLATFORM-1900 - Enhance Talon Server Main to include an option to stop a running XVM

This release allows shutting down a Talon XVM using the Talon XVM Entrypoint class (com.neeve.server.Main) by specifying the option '-a shutdown'. For example, if an XVM was started with

If can be subsequently shutdown gracefully using:

Compatibility Notes:

 

Note the -a / --action option replaces the former deprecated option -a which used to allow specifying an app descriptor to launch. This release formally removes support for specifying an app descriptor.

TALON SERVER

XPLATFORM-1907 - Add p/-profiles option to Talon XVM Main

 

This release adds a p (-profiles) options to the Talon XVM main entrypoint (com.neeve.server.Main) to allow activating profiles to activate when parsing and seeding the config DDL XML file.

CONFIGURATION
TALON SERVER

XPLATFORM-1918 - Include Per Transaction Stats Logger stats in heartbeats

This release adds statistics for the per transaction stats logger to heartbeats which include the file size and disruptor usage for the logger.

STATS AND ALERTS

XPLATFORM-1919 - Include binary heartbeat logger stats in heartbeats

This release add binary heartbeat logger statistics to heartbeats to make it possible to monitor how large the heartbeat log is growing when binary heartbeat logging is enabled for an XVM.

STATS AND ALERTS

XPLATFORM-1925 - Default value for maxTraceHistory should be increased to 512 from 256 and configurable via DDL

The release increases the default value for an XVM's trace history from 256 to 512 and makes maxTraceHistory configurable via DDL. The reason for this change is that 256 lines of trace is often too low for applications that are launched with configuration trace on, since admin clients typically would not connect in time to catch the initial XVM trace.

Example DDL Configuation:

Note that this change will only take effect on reconfiguration of an XVM for XVMs that utilize a persistent configuration repository.

ADMIN CLIENT
STATS AND ALERTS
TRACE LOGGING

Improvement

XPLATFORM-1783 - Packet log reader should return all valid packets up until point of corruption

This release improves the transaction log reader to return all valid entries up to the first corrupted entry in the log.

XPLATFORM-1784 - Implement convenience API in Xbuf field to copy serialized form of a field

Prior to this release, there was no API or mechanism to copy the serialized form of an ADM generated message/entity field. This release implements the

method that performs this function

XPLATFORM-1785 - Generate method in message/entities that allow for a user to set preserialized fields

Prior to this release, there was no mechanism to perform the following

  • Initialize an ADM generated message/entity with a pre-serialized set of fields
  • Set some more fields on the message/entity using the field setters
  • Serialize the message/entity with an expected output of the serialized form comprised of the personalized fields followed by the serialized form of the set fields

This release generates a new method named

on generated messages and entities that performs the above

This method is only generated for messages/entities generated using the Xbuf encoding type

XPLATFORM-1796 - PktHeader subheaders consume unecessary memory

This release improves memory footprint of State Replication applications using Xbuf encoding for state objects by reducing the number of packet subheaders initialized in the generated object's backing packet.

ODS
XBUF

XPLATFORM-1821 - Properties based DDL should fail on unrecognized x.* properties

Prior to this release when DDL is specified in properties format (for users using an external configuration mechanism) unrecognized properties were ignored. With this release VMConfigurer now throws an error if any x.* property is specified that is not defined in the DDL xml schema.

Note that this validation does not apply to generic properties such as bus properties or env properties (that correspond to hierarchical properties in the DDL xml). Additionally this validation does not cover any properties that are outside of x.* configuration.
Compatibility Notes:

 

This release adds additional validation of DDL configuration supplied via properties rather than xml. Applications using properties based DDL configuration that pass in unknown x.* properties may fail to start. To revert to the old behavior of ignoring unknown properties, applications may set the property nv.ddl.propertynamevalidation=false in the ddl property set passed to VMConfigurer or as a system property.

CONFIGURATION

XPLATFORM-1832 - Add diagnostic packet dump for corrupted packets on the store replication connection

 

This release produces a hex dump file when a corrupted packet is received on the store's replication connection which can be useful in diagnosing software or network corruption in replication.

<15,7868,MyComputer> 20171101-14:25:48:192 (sev)...Corrupted packet dump written to C:\Users\Admin\AppData\Local\Temp\PktCorruption6937598095008127104.dump
<15,7868,MyComputer> 20171101-14:25:48:192 (wrn)...Failure during read/deserialize/dispatch [com.neeve.pkt.EPktCorruptException: deserialization error: corrupt data stream [invalid header magic number: 56493]]. Failing endpoint...
<15,7868,MyComputer> 20171101-14:25:48:192 (wrn)...com.neeve.pkt.EPktCorruptException: deserialization error: corrupt data stream [invalid header magic number: 56493]
	at com.neeve.pkt.PktHeader.preDeserialize(PktHeader.java:352)
	at com.neeve.pkt.PktFactory.createPacket(PktFactory.java:1126)
	at com.neeve.link.network.LnkNwPeerEndpointInputBuffer.readDeserializeAndDispatch(LnkNwPeerEndpointInputBuffer.java:267)
ODS

XPLATFORM-1847 - Provide an option to not include every message type in every XVM Hearbeat

This release introduces the setting inactiveMessageTypeStatsInclusionFrequency to XVM heartbeat configuration. This setting can be used to control how frequently message type stats are reported for message types without any activity. By default this value is set to 1 meaning that inactive types are included in every heatbeat, but it can be set to 0 to exclude inactive types in heartbeats, or set to a value N, greater than 1 so that every Nth heartbeat inactive message type stats are included.

STATS AND ALERTS

XPLATFORM-1866 - Improved logging of affinitization settings at startup/role change

This improvement changes when the affinity dump trace is printed (when nv.aep.config trace is enabled) to be printed after messaging is started or when an engine enters the cluster backup role rather than earlier in the engine startup so that bus related threads are created and affinitized when the trace is emitted.

As a consequence an application that comes up as a Backup then transitions to primary will have affinity trace dump at both points in its lifecycle

CONFIGURATION

XPLATFORM-1884 - nvx-hummingbird and nvx-talon javadoc jars should be published to nexus

This release published javadoc jars for nvx-adm, nvx-hummingbird and nvx-talon to the Neeve nexus repository. Prior to this release, only bundled javadoc for nvx-talon-all and nvx-core-all were published.

DOCUMENTATION

XPLATFORM-1890 - Propagate origin and pre wire timestamps in JMS binding

This release improves the JMS binding such that it now propagates messages' origin and pre-wire timestamps in the JMS message properties. This allows downstream application to compute wire time and end to transit time for message flows when both the sender and receiver applications are configured to capture message latency stats.

JMS BINDING
SMA

XPLATFORM-1892 - Talon Archetypes should use nvx-platform-bom for ease of use

This release updates talon maven archetypes to use the nvx-platform-bom for dependency management which allows generated projects to switch platform versions with greater ease.

BUILD/INFRASTRUCTURE
MAVEN ARCHETYPES

XPLATFORM-1893 - Talon Archetypes should declare nvx-native dependency

This release updates the talon archetypes to include the nvx-native runtime for linux by default.

MAVEN ARCHETYPES

XPLATFORM-1899 - Create run scripts for archetypes

This release enhances the Talon archetypes to include xvm scripts in project's packaged distribution. New projects created from the archetypes can launch xvms by issuing:

Full usage for the xvm script can be displayed via:

MAVEN ARCHETYPES

XPLATFORM-1903 - Simplify code generated by ADM for collection nodes

This release changes the code generated by ADM for collection nodes by moving more of the implementation code into the platform collection base classes.
Compatibility Notes:

 

This change increments the ADM compatibility level to 3.9.0; collections generated with this version of the platform require APIs not available in earlier releases.

This change also removes the methods first, next previous and last from the generated queues.

XPLATFORM-1915 - Remove intermediate copy made when calling pooled string factory getter on Xbuf using FrameFields

 

This release improves the Xbuf generated code not to trigger a copy to an intermediate XString when getting the field value using a getXXXTo(XString.Factory factory) getter. Prior to this release the generated code was getting the value from the backing Xbuf container as an XString as a means of checking if the field is set. This is inefficient when the message is configured to use FrameFields.
Compatibility Notes:

 

This change is generated XBuf code, and requires code regeneration to pick up the improvement.

ADM
XBUF

Change

XPLATFORM-1803 - Talon Maven build should use nvx-adm-maven-plugin, and nvx-adm-maven-pluging should not declare nvx-hummingbird as optional

 

This release changes the nvx-platform-plugin to include the nvx-adm-maven-plugin's goals rather than the deprecated nvx-core-maven-plugin.

MAVEN PLUGINS

XPLATFORM-1805 - Update DDL to allow using <xvms> and <xvm> instead of <servers> and <server>

This release provides DDL support for specifing <xvms> and <xvm> rather than <servers> and <servers>. The <servers> and <server> elements are deprecated, but remain usable for backwards compatibility ... with the caveat that only one or the other nomenclature can be used.
Compatibility Notes:

 

It is recommended that user's update their configuration DDL to switch from <servers> to <xvms> and from <server> to <xvm> as support the former variants will be dropped in a future release.

BUILD/INFRASTRUCTURE

XPLATFORM-1818 - Channel Filter cleaning should allow common wildcard characters

 

This release changes channel filter cleaning to account for valid wildcard characters for the bus binding in question. With this change the following characters will not be changed to an '_' in a channel filter level when nv.sma.cleanchannelfilter=true:

  • Solace Binding: A '>' will not be replaced if it represents the whole topic level and a '*' will not be replaced if it is the last character in the topic level.
  • Loopback Binding: A filter level of "..." will not be replaced nor will a '*' found anywhere in the topic level.
  • ActiveMQ JMS Binding:: A filter level of ">" or "*" will not be replaced if they represent the whole topic level.

Otherwise any characters that are not alpha-numeric will be replaced.

SMA

XPLATFORM-1820 - Allow configuring DDL config prefix in ddl config properties in addition to the environment

This release adds the ability to change the ddl configuration prefix used to specify platform related properties in the DDL property set itself by setting the property nv.ddl.prefix. Prior to this release a user could only specify the prefix by setting this property in the environment or set of override properties passed in to VMConfigurer.

CONFIGURATION

XPLATFORM-1823 - Allow lendXXX(XString value) to accept a null XString

This release changes the ADM generated lendXXX(XString val) method to allow it to accept a null value without throwing a NullPointerException.
Compatibility Notes:

 

To take advantage of this change ADM models need to be regenerated. The ADM compatibility version was incremented from 3.8.0 to 3.8.1 as a result of this change.

ADM

XPLATFORM-1834 - nv.sma.cleanchannelfilter should default to false

 

This release changes the default value of nv.sma.cleanchannelfilter to be false rather than the value specified for nv.sma.cleanmessagekey.

The environment property nv.sma.cleanchannelfilter was introduced in 3.7 to allow illegal characters to be replaced with an '_' when applying channel filters in the same fashion that such characters are replaced during channel key resolution. The default value of this property in 3.7 was defaulted to the value used for nv.sma.cleanmessagekey with the rationale that applications would most likely want to clean filters if they are cleaning keys, but it is not necessarily true that all application would want to clean filters since it has more control over how channel filter values are set vs. those values resolved from a message.

SMA
TALON

XPLATFORM-1835 - Allow setting JMS Client ID on JMS Binding Connections

This release changes the behavior of the JMS binding to set a JMS ClientID of 'X-SMA-<busname>-<bususername>' on JMS message bus binding connections, where <bususername> is the name of the application if the bus is used in a Talon Application.

Setting a JMS Client is a useful safeguard against a primary and backup instance both assuming a primary role when the application is configured with a messagingStartFailPolicy of FailIfOneBindingFails.

The following new binding descriptor properties were introduced to control setting the client id for jms connections:

  • set_client_id: Controls whether the binding will set the JMS ClientID for JMS connections. (default: true)
  • use_legacy_client_id: causes the client id to be set to <bususername><busname> rather than X-SMA<busname>-<bususername> (prior to this release the activemq binding used this client_id implicitly. (default: false)
  • client_id: can be set an explicit client id. (default: not set)
    Compatibility Notes:

     

    If the JMS connection is created from a JNDI connection factory that provides a pre configured JMS ClientID it may cause the JMS provider to throw an exception when the client id is set. Consequently, it is important that this functionality be disabled if the connection factory already specified a client id by setting set_client_id=false

ActiveMQ breaking change

(error) Prior to this release the ActiveMQ specific provider set a client of <username><busname>. The change to "X-SMA<busname>-<bususername>" is a breaking change in this case for applications that have existing durable subscriptions associated with the old Client ID. The property use_legacy_client_id=true can be set to use the old client id.

JMS BINDING
SMA

XPLATFORM-1845 - Change 'nv.sma.treatemptykeyasnull' to 'nv.sma.treatemptykeyfieldasnull'

 

This milestone changes the name of 'nv.sma.treatemptykeyasnull' introduced in the last milestone as part of XPLATFORM-1839 to 'nv.sma.treatemptykeyfieldasnull' to be more consistent with the existing property name 'nv.sma.allowemptykeyfield'

SMA

XPLATFORM-1856 - Remove Adm annotation processor.

This release removes the experimental ADM annotation processor. It is expected that this processor will be added back in a later release after being revamped.

ADM

XPLATFORM-1908 - Talon Server Main errorneously sets XVM environment properties as System properties

Prior to this release properties set in the <env> section of DDL config were being set as System properties when an XVM was launched. This behavior is undesirable in unit testing situations since the environment set by one XVM can influence the configuration bootstrapping of subsequent launches (because DDL substitution gives preference to System properties when parsing values specified in the env).
Compatibility Notes:

 

Applications that may have been relying on fetching values in defined in the DDL <env> section should be updated to fetch such properties via XRuntime.getValue("propName") instead.

Alternatively, to revert to the former behavior of the XVM setting env properties as System properties applications may set nv.xvm.setsystempropsfromenv=true either as a system property prior to launching the XVM or in the DDL <env> section.

CONFIGURATION

Bug

XPLATFORM-1740 - NullPointerException can occur when Store open fails due to role expectation mismatch

 

This release fixes a race condition that can occur closing the store when the store's HA role expectation is met on startup. Prior to this release a role expectation mismatch could result in an exception of the form:

java.lang.InternalError: Failure encountered while shutting down ODS event link container reader thread java.lang.NullPointerException...

TALON
UNIT TESTS

XPLATFORM-1790 - "Encountered orphan slice element on stability (duplicate ack?)" error when mixing solicited and unsolicited sends

This release fixes an issue that can result in the error "Encountered orphan slice element on stability (duplicate ack?)" when performing a mix of solicited and unsolicited sends on the same message type when pooling is enabled.

Encountered orphan slice element on stability (duplicate ack?)
Stack trace:
java.lang.Exception
	at com.neeve.aep.AepBusManager.onEvent(AepBusManager.java:2177)
	at com.neeve.sma.impl.MessageBusBindingBase.onEvent(MessageBusBindingBase.java:566)
	at com.neeve.sma.impl.MessageChannelBase.onEvent(MessageChannelBase.java:972)
	at com.neeve.sma.impl.MessageChannelBase.onEvent(MessageChannelBase.java:983)
	at com.neeve.sma.impl.MessageChannelBase.onMessageStability(MessageChannelBase.java:950)
AEP
MESSAGE LIBRARY
XBUF

XPLATFORM-1791 - Embedded configuration repository missing from nvx-talon jar

Not actually a bug embedded config repo is only added to nvx-talon-all.jar

BUILD/INFRASTRUCTURE
TALON

XPLATFORM-1792 - nvx-platform-maven-plugin execution filter for m2e not filtering xar goals.

This release fixes an issue in the M2E plugin execution for the nvx-platform-maven-plugin that would cause the robin-xar goal to be executing inside eclipse when it should be skipped.

MAVEN PLUGINS

XPLATFORM-1795 - Solace Orphan Subscription Check returns 'response too big: use sequenced get'

This release fixes an issue that causes the solace bindings orphan subscription check to fail with 'response too big: use sequence get' when retrieving subscriptions from a queue that has a large number of subscriptions. With this change the call to get subscriptions now attempts to retrieve subscriptions in batches.

SOLACE BINDING

XPLATFORM-1800 - Sender Gateway Archetype is broken

Prior to this release, the Talon sender gateway Maven archetype would throw an exception when attempting to generate an app. This release fixes that issue.

XPLATFORM-1827 - Direct Binding can lose messages during retransmit.

This release resolves a bug in the direct binding implementation which can cause it to lose messages during a connection failure when sending protobuf encoded messages with pooling enabled.

DIRECT BINDING

XPLATFORM-1828 - Cannot inline an embedded entity into a target that alreadey contains the same field definition as the target

This release fixes an issue in the ADM code generator in which an entity could not be inlined into another type that type already contains the same field as one in the entity being inlined. For example, prior to this fix the following would have have failed:

ADM

XPLATFORM-1829 - Outgoing topic corrupted after previous error

This release resolves an bug in which an exception thrown during message key resolution did not reset the key builder used for building dynamic topics. Consequently, if the application is operating with an exception handling policy of LogExceptionAndContinue, a subsequent send call would result in the resolved key containing a portion of the previously partially resolved key.

AEP

XPLATFORM-1830 - Provide better errror when disallowing ADM Message Inlining

Prior to this release the ADM code generator did not throw an exception if an ADM model attempts to inline a message type into another message which is not supported. This release changes ADM to throw an exception when attempting to inline a message type.

ADM

XPLATFORM-1836 - JMS Binding doesn't clean up connection if there is a failure during open

This release fixes a bug that occur if there is an error creating A JMS session in the JMS message bus binding that would result in the JMS connection not being closed. This can be problematic if the connection is using a JMS Client ID and the process remains alive because subsequent connection attempts will fail.

JMS BINDING

XPLATFORM-1842 - Transaction log corruption can occur when log configured with cdcEnabled=true

This release resolves a packet corruption issue that can occur during replication for StateReplication applications using a transaction log with cdcEnabled=true. With this fix, the following error should no longer occur

CDC
ODS

XPLATFORM-1877 - System property set on command line does not override env var declared in profile

Fixes an issue where profile, xvm and xvm template env variables in DDL were not being overridden by corresponding values specified as DDL overrides or already present in the environment fed to VMConfigurer which should take precedence.

CONFIGURATION

XPLATFORM-1883 - xconfig script localizes ${} channel key variables, but it should not.

This release fixes a bug in the configuration repository that would cause configuration seeded by robin to erroneously localize ${} channel key variables when configuring message channels. This would only affect channel keys with variables having default values that are seeded by robin.

CONFIGURATION

XPLATFORM-1886 - Generated XBuf code has a compiler warning on deprecated PktBuffer.create() method

This change fixes a compiler warning in XBuf generated code relating the deprecated PktBuffer.create method.
Compatibility Notes:

 

This change bumps the ADM compatibility version to 3.8.2 (a non breaking change).

ADM

XPLATFORM-1888 - NullPointerException in XBuf setPreserializedFields method when called with uninitialized buffer

 

This release adds a check for whether a PktBuffer has been initialized in the experimental method setPreserializedFields in Xbuf generated messages. Prior to this fix calling this method with an empty PktBuffer could result in a NullPointerException

ADM
XBUF

XPLATFORM-1894 - Archetype generated TestFlow does not work if archetype generated with different app name

This release fixes a bug in the Talon Maven archetypes in which bus descriptor properties were not being properly updated when a non default application name is used.

XPLATFORM-1898 - nvx-talon-sr-processor-archetype does not substitute the outbound message name correctly

This release fixes an issue in the nvx-talon-sr-processor-archetype in which the outbound event type specified in the archetypes is not properly used.

XPLATFORM-1901 - EmbeddedXVM.create(URL, String, Properties) erroneously sets provided properties as System properties

This release fixes a bug in which the method com.neeve.server.embedded.EmbeddedXVM.create(URL, String, Properties) sets the provided properties as System properties. This is inconsistent with the other creation methods in EmbeddedXVM, and pollutes the environment in which the XVM is being launched. The correct way for setting XVM specific configuration is to set such configuration in the source DDL as properties under <env> section which are applied by the XVM when it is started.
Compatibility Notes:

 

Applications that use this method should ensure that they do not rely on the passed in DDL substitution properties being set as System Properties. In such cases, the system property names passed in may be converted to start with "x.env." such that they are applied to the environment for the XVM (accessible through XRuntime), or alternatively modify code to set them as System properties manually.

CONFIGURATION
TALON SERVER

XPLATFORM-1902 - Failed to set store descriptor property 'displayName' when xvm displayName is set in DDL

 

This release fixes a configuration warning message displayed when an XVM is configured with a display name.

CONFIGURATION

XPLATFORM-1912 - Deadlock in XVM when admin client stops trace watch

The prior release had a bug in which it could experience a deadlock if an admin client (such as a Robin controller or Lumino agent) stops a trace watch while the XVM is sending trace to the client. This release fixes this issue.

XPLATFORM-1913 - The -all flag in StatsDumpTool does not take effect

This release fixes an issue in which the -all flag for StatsDumpTool is not being applied. Prior to this fix the StatsDumpTool would display stats for administrative applications regardless of whether or not this flag was specified.

STATS AND ALERTS
TOOLS

XPLATFORM-1914 - When process and cpu load stats are unavailable in system stats they are reported in heartbeats as -1

This release changes heartbeats not to include system cpu load and process cpu load on heartbeats when they are not available. Prior to this release they would be set to -1 (when running in JDK 6 where these stats are not available)

STATS AND ALERTS

XPLATFORM-1916 - Pooled String Factories can ignore the 'threaded' flag causing it to always be set to true

Prior to this release the threaded parameter of PooledStringType.newFactory(name, length, pooled, preallocateCount, threaded, isNative) is ignored and instead the Factory is always treated as thread. This release fixes this issue.

This issue did not affect pooled string factories created via PooledStringType.newFactory(final String name, final Map<String, Object> props).
Compatibility Notes:

 

For applications that create pooled string factories using the method described above and passed a value of false for threaded, the underlying pool will no longer be threadsafe. This could affect applications that were using the pool (acquire/dispose) from multiple threads.

ADM
HUMMINGBIRD
PERFORMANCE

XPLATFORM-1923 - Commit Queue Size is not being set on the primary

 

This release fixes an issue in which the Primary store member was not setting the CommitQueueSize statistic during commit. Prior to this release this statistic was only reported by backup instances.

TALON
  • No labels