X Platform Documentation Portal

Release Notes

X Platform Documentation Portal

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Release Date: Thursday, April 20, 2017

Release Highlights

  • New features to support embedded entity field copies that preserve pass-through fields in a zero garbage fashion.
  • Merge of XPLATFORM-1667 from 3.4
  • Bug fixes.

Compatibility Notes

ADM Compatibility Level: 3.4.1 (see ADM Compatibility Matrix) The Adm Compatibility level last changed in Core X  3.4.373 release

(warning) This release introduces new features in ADM generated code that do require new platform APIs. Consequently, code generated with this version of the plugin can run with platform versions as early as 3.4.373.

Change Log

New Feature

XPLATFORM-1628 - Create getXXXTo(EmbeddedEntity) copying accessor

This release adds copying accessors for embedded entities to ADM generated messages and entities of the form getXXXTo(Entity target), and also creates copy() and copyInto(Entity target) methods on generated entities.

In Xbuf and Protobuf generated code the copy() operations preserve pass-through field value for received entities that have not been modified (a pass-through field is a field not defined in the generated code, but encoded on the wire by a sender). Additionally, in Xbuf generated code the copy is zero garbage.

Prior to this change applications could:

  • use the clone() method to copy an embedded entity in a zero garbage fashion, but does not preserve pass-through fields.
    or
  • use EmbeddedEntity.deserializeFrom(other.serializeToByteBuffer()); which preserves pass-through fields, but is not zero garbage.

The new copy() methods provide a way to do a pass-through field preserving copy that is also zero garbage.

See Xbuf Embedded Entities

To take advantage of this functionality code regeneration is required.

ADM
MESSAGE LIBRARY

XPLATFORM-1630 - Allow control over the initial backing buffer size for embedded Xbuf fields

This release provides the ability to globally configure the initial backing buffers size for embedded xbuf entities by setting the property:

nv.xbuf.fullyQualifiedClassName.initialbackingbuffersize

For example:

System Property

or in DDL

DDL

To take advantage of this functionality code regeneration is required. When not configured, the default backing buffer size of 256 bytes will continue to be used.

ADM
MESSAGE LIBRARY

Change

XPLATFORM-1660 - Prevent usage of adaptive commit and replicate in parallel simulatenously

Usage of both adaptive transaction commit and parallel cluster replication is not supported. This release enforces this by disabling parallel cluster replication if an adaptive commit batch size is specified for the engine.

AEP

Bug

XPLATFORM-1635 - Transaction batch not closed because of EventMultiplexer wakeup event

This fix resolves an issue in which the scheduling events into an Aep Engine's input multiplexer queue can result in adaptively batched transactions not being closed if no new message events are received.

AEP

XPLATFORM-1667 - High memory usage / pool leaks when intializaing backup member with Xbuf messages containing a large number of embdedded entity fields.

This release fixes an issue in which Xbuf embedded entities were not being disposed when initializing a backup member from a primary member's transaction log.

Failing to dispose the entities during initialization can cause a lot of allocations to occur which can lead to significant garbage collection pauses.

XBUF
  • No labels