RTI Persistence Service
Release Notes
Version 5.0.0
© 2012
All rights reserved.
Printed in U.S.A. First printing.
August 2012.
Trademarks
Copy and Use Restrictions
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form (including electronic, mechanical, photocopy, and facsimile) without the prior written permission of Real- Time Innovations, Inc. The software described in this document is furnished under and subject to the RTI software license agreement. The software may be used or copied only under the terms of the license agreement.
Technical Support
232 E. Java Drive
Sunnyvale, CA 94089
Phone: |
(408) |
Email: |
support@rti.com |
Website: |
Release Notes
1 Compatibility
RTI® Persistence Service is included with RTI Connext™ Professional Edition. If you choose to use it, it must be installed on top of RTI Connext (formerly RTI Data Distribution Service) with the same version number.
Persistence Service is compatible with Connext, as well as RTI Data Distribution Service
Note: Persistence Service is not compatible with applications built with RTI Data Distribution Ser- vice 4.5e and earlier releases when communicating over shared memory. For more information, please see the Transport Compatibility section in the RTI Core Libraries and Utilities Release Notes.
Table 1.1 Supported Architectures
Platforms |
Operating System |
Architecture |
Format |
|
|
|
|
|
|
|
|
|
|
|
AIX |
AIX 5.3 |
p5AIX5.3xlc9.0 |
Executable |
|
(no external database support) |
64p5AIX5.3xlc9.0 |
|||
|
|
|||
|
|
|
|
|
INTEGRITY |
INTEGRITY 10.0.0 |
pentiumInty10.0.0.pcx86 |
Library |
|
|
|
|
|
|
|
CentOS 5.4, 5.5 (2.6 kernel) |
i86Linux2.6gcc4.1.2 |
Executable |
|
|
x64Linux2.6gcc4.1.2 |
|||
|
|
|
||
|
|
|
|
|
|
Red Hat Enterprise Linux 5.0 |
i86Linux2.6gcc4.1.1 |
Executable |
|
|
x64Linux2.6gcc4.1.1 |
|||
|
|
|
||
|
|
|
|
|
Linux® |
Red Hat Enterprise Linux 5.1, 5.2, 5.4, 5.5 |
i86Linux2.6gcc4.1.2 |
Executable |
|
x64Linux2.6gcc4.1.2 |
||||
|
|
|
||
|
|
|
|
|
|
Red Hat Enterprise Linux 6.0, 6.1 |
i86Linux2.6gcc4.4.5 |
Executable |
|
|
(no external database support) |
x64Linux2.6gcc4.4.5 |
||
|
|
|||
|
|
|
|
|
|
Ubuntu® Server 10.04 (2.6 kernel) |
i86Linux2.6gcc4.4.3 |
Executable |
|
|
(no external database support) |
x64Linux2.6gcc4.4.3 |
||
|
|
|||
|
|
|
|
|
Solaris™ |
Solaris 2.10 |
sparcSol2.10gcc3.4.2 |
Executable |
|
(no external database support) |
sparc64Sol2.10gcc3.4.2 |
|||
|
|
|||
|
|
|
|
1
Table 1.1 Supported Architectures
Platforms |
Operating System |
Architecture |
Format |
|
|
|
|
|
|
|
|
|
Windows 7 |
i86Win32VS2010 |
Executable |
|
x64Win64VS2010 |
||
|
|
|
|
|
|
|
|
|
Windows Server® 2008 R2 |
x64Win64VS2010 |
Executable |
|
|
|
|
|
Windows 2000 |
i86Win32VS2005 |
Executable |
Windows® |
|
|
|
Windows 2003 |
i86Win32VS2005 |
Executable |
|
|
|
|
|
|
Windows Vista® |
i86Win32VS2005 |
Executable |
|
i86Win32VS2008 |
||
|
|
|
|
|
|
|
|
|
Windows XP Professional |
i86Win32VS2005 |
Executable |
|
i86Win32VS2008 |
||
|
|
|
|
|
|
|
|
1.1
Starting with version 4.5b, the
1.2Library API Compatibility
The following fields in the RTI_PersistenceServiceProperty structure have new names (starting in 4.5d Rev. 12):
❏app_name has been replaced with application_name
❏stack_size has been replaced with thread_stack_size
1.3Persistent Storage
When Persistence Service is configured in PERSISTENT mode, you may choose between storing the topic data in files or in an external relational database.
In principle, you can use any database that provides an ODBC driver, since ODBC is a standard. However, not all ODBC databases support the same feature set. Therefore, there is no guarantee that the persistent durability features will work with an arbitrary ODBC driver.
Persistence Service has been tested with the MySQL 5.1.44 with MySQL ODBC 5.1.6.
The usage of MySQL requires the separate installation of the MySQL ODBC 5.1.6 (or higher) driver. For
1.4Persistence Service Synchronization
Starting with version 5.0.0, the format of the <synchronization> tag value under
<persistence_service> tag has changed.
Before 5.0.0, the value of the tag was a boolean indicating whether or not sample synchroniza- tion was enabled.
Starting in 5.0.0, there are two different kinds of information that can be synchronized indepen- dently: data samples and durable subscription state. The <synchronization> tag value is no lon- ger a boolean; now it is a complex value that may contain up to three new tags:
❏<synchronize_data>
❏<synchronize_durable_subscriptions>
❏<durable_subscription_synchronization_period>
2
Available Documentation
Any existing XML configuration files that use the old <synchronization> tag as follows:
<dds> <persistence_service>
...
<synchronization>true</synchronization> </persistence_service>
must be changed to:
<dds> <persistence_service>
...
<synchronization> <synchronize_data>true</synchronize_data>
</synchronization> </persistence_service>
For additional information on Persistence Service synchronization, see the RTI Persistence Service chapters in the RTI Core Libraries and Utilities User’s Manual.
2 Available Documentation
The following documentation is provided with the Persistence Service distribution. (The paths show where the files are located after Persistence Service has been installed in <NDDSHOME>):
❏Installation instructions: RTI Persistence Service Installation Guide
(<NDDSHOME>/doc/pdf/RTI_Persistence_Service_InstallationGuide.pdf, also avail- able for download from RTI’s Self Service Portal.)
❏General information on RTI Persistence Service:
Open <NDDSHOME>/ReadMe.html, then select RTI Persistence Service.
❏Example code: <NDDSHOME>/example/<language>/helloWorldPersistence. Additional documentation is provided with Connext:
❏Configuration, use cases, and execution of Persistence Service:
RTI Core Libraries and Utilities User’s Manual
(<NDDSHOME>/doc/pdf/RTI_CoreLibrariesAndUtilities_UsersManual.pdf)
❏Overview of persistence and durability features:
Open <NDDSHOME>/ReadMe.html, choose your desired API (C, C++, or Java), then select Modules, Connext API Reference, Durability and Persistence.
3 What’s New in 5.0.0
3.1Durable Subscriptions Support
With the Durable Subscriptions feature, you can configure Persistence Service to keep samples in memory or persistent storage until they are received by a set of named subscriptions.
Related XML configuration tags:
❏<durable_subscriptions> under <participant>
❏<purge_samples_after_acknowledgment> under <persistence_service>
3
❏<synchronize_durable_subscriptions> and <durable_ subscription_ synchronization_ period> under <synchronization>
❏<allow_durable_subscriptions> under <persistence_group>
For additional information on Durable Subscriptions, see the RTI Persistence Service documenta- tion in the RTI Core Libraries and Utilities User’s Manual.
3.2Delegated Reliability Support
The delegated reliability feature offloads the
With delegated reliability, a RELIABLE DataWriter configured with TRANSIENT or PERSIS- TENT durability will communicate using
For additional information on Delegated Reliability, see the RTI Persistence Service documenta- tion in the RTI Core Libraries and Utilities User’s Manual.
3.3Sample Logging Support
Sample logging allows you to decouple a PRSTDataReader from the corresponding PRSTDataW- riter by buffering the read samples onto disk before they get persisted into the PRSTDataWriter queue. Using the sample logging feature in combination with delegated reliability addresses
The sample logging feature is only supported on Linux and Windows platforms.
Related XML configuration tags:
❏<sample_logging> under <persistence_group>
For additional information on using sample logging, see the RTI Persistence Service documenta- tion in the RTI Core Libraries and Utilities User’s Manual.
3.4Performance Improvements
The following new XML tags can be used to improve the performance of RTI Persistence Service when it runs in PERSISTENT mode:
❏<late_joiner_read_batch>
❏<writer_ack_period>
❏<writer_checkpoint_period>
❏<writer_checkpoint_volume>
For additional information on these tags, see the RTI Persistence Service documentation in the RTI Core Libraries and Utilities User’s Manual.
3.5Waitset Support
RTI Persistence Service can be configured to use waitsets to read data from the PRSTDataReader using the new XML tag <use_wait_set>.
For additional information on this tag, see the RTI Persistence Service documentation in RTI Core Libraries and Utilities User’s Manual.
4
What’s New in 5.0.0
3.6
Starting with release 5.0.0, you can configure the PRSTDataWriters and PRSTDataReaders cre- ated by RTI Persistence Service to do
For additional information on
3.7Support for Environment Variables in XML Configuration Files
This new feature allows you to refer to an environment variable within an XML tag. When the Connext XML parser parses the configuration file, it will expand the environment variable. To refer to an environment variable, use the format $(MY_VARIABLE).
For example:
<element>
<name>The name is $(MY_NAME)</name> <value>The value is $(MY_VALUE)</value>
</element>
3.8Attribute ‘is_default_qos’ No Longer Supported
The is_default_qos attribute is no longer supported in Persistence Service. (For more information, please see Section 4.1.)
3.9Support for Extensible Types
Persistence Service includes partial support for the “Extensible and Dynamic Topic Types for DDS” specification from the Object Management Group (OMG). See Section 27.13 in the RTI Core Libraries and Utilities User’s Manual for details.
3.10Integrated Support for Distributed Logger
The RTI Distributed Logger library is now included with Persistence Service.
When you enable the Distributed Logger library, Persistence Service will publish its log messages to a Connext domain. Then you can visualize the log message data with RTI Monitor, a separate GUI application that can run on the same host as your application or on a different host. Since the data is provided in a Connext topic, you can also use rtiddsspy or even write your own visual- ization tool.
For details on how to enable the Distributed Logger library, see the chapter on Configuring Persis- tence Service in the RTI Core Libraries and Utilities User’s Manual, as well as the RTI Distributed Log- ger Getting Started Guide. These documents will show you how to use the new XML configuration tag, <distributed_logger>.
3.11Propagation of Service Version as a DomainParticipant Property
In this release, the Persistence Service version number is propagated as a DomainParticipant prop- erty called "rti.service.version". The format of the value is as follows:
<major>.<minor>.<release>.rev<revision>
The version property is set in all the DomainParticipants created by the service.
5
4 What’s Fixed in 5.0.0
4.1Remote Administration Commands not Received
Persistence Service did not ignore the is_default_qos setting in input XML files. As a conse- quence, you may have seen unexpected behavior. For example, if remote administration was enabled, you may have run into a scenario where the DataWriter and DataReader created by Per- sistence Service to receive administration commands had PERSISTENT Durability. This could have occurred when running Persistence Service from a directory that contained a file called
USER_QOS_PROFILES.xml with is_default_qos set to TRUE in a profile where the DataWriter and DataReader QoS had PERSISTENT durability. Your original intention may have been to use USER_QOS_PROFILES.xml to configure your application. However, because Persistence Ser- vice runs from the same directory as the entities that it creates, it used the application default profile as well.
To be consistent with RTI Routing Service and a provide a better
[RTI Issue ID
5 Known Issues
5.1TCP Transport not Supported
Persistence Service does not support the TCP transport.
5.2Coherent Changes are Not Propagated as a Coherent Set
Persistence Service will propagate the samples inside a coherent change. However, it will propa- gate these samples individually, not as a coherent set.
5.3BLOBs Not Supported by OBDC Storage
The ODBC storage does not support BLOBs. The maximum size for a serialized sample is 65535 bytes in MySQL.
6