11.5.1. What’s New in 6.1.0

11.5.1.1. New platforms

  • macOS 10.15 (x64)

  • Red Hat® Enterprise Linux 7.6 (x64)

  • Ubuntu® 18.04 LTS (Arm v7 and v8)

  • Ubuntu 20.04 LTS (x64)

  • Yocto Project 2.5 (Arm v8) (custom-supported target platform)

For more information on these platforms, see the RTI Connext DDS Core Libraries Platform Notes for this release.

11.5.1.2. Removed platforms

These platforms are no longer supported:

  • macOS 10.12

  • SUSE Linux Enterprise Server 11

  • Ubuntu 12.04 LTS

11.5.1.3. New message showing location for output recorded via RTI Launcher

When using RTI Launcher to start Recording Service, it was not clear where to find the resulting recorded database. Now you will see a message that indicates the output directory, if you set the verbosity to level 3 or higher.

11.5.1.4. Ability to replay by recorded source timestamp

Now you can replay recorded databases using the recorded source timestamp. For details, see Choosing the Sample Order for Replaying Data.

11.5.1.5. Instance History Replay

Replay Service can now recreate the state of the world prior to a given start timestamp. When this new feature is enabled, Replay Service will publish the latest value known for every instance alive, for keyed topics.

This functionality is currently implemented for the builtin SQLite storage. The Storage API has also been extended to support external plugins.

In the builtin SQLite storage, Recording Service builds an internal index for increased performance. The index is built only once, either:

  • At recording time

  • Offline using the utility rtirecordingindexer

  • At replay runtime

The offline and replay runtime modes are applicable only if the index is not already built.

11.5.1.6. Ability to index SQLite tables offline

This release includes a new command-line utility that will index a database. There is a table indexing mode that will create two SQLite indexes per table, one based on the reception timestamp column and another based on the source timestamp column.

The new script is called rtirecordingindexer.

11.5.1.7. New debug mode for Replay Service

Replay Service can now be started in debug mode. In this mode, you can set breakpoints in the replay. Debug mode allows you to manage the replay on a deeper level than the standard replay mode. See Using Debug Mode while Replaying for details.

To enable debug mode, use the command line option -debugMode or the <debug_mode> tag, like this:

<playback>
      <debug_mode>
          <enabled>true</enabled>
      </debug_mode>
</playback>

11.5.1.8. Ability to change speed and jump in time during replay

Remote Administration gives you more control while replaying data. Now you can change the replay speed, or jump forward/backward in time, without having to restart the replay.

For more information, see Jumping in Time while Replaying and Remote API Overview.

11.5.1.9. Improved automatic recognition of recorded databases by SQLite tools

Recording Service now uses the standard .db file extension by default when creating database files. This change will improve the automatic recognition of these files as SQLite files.

11.5.1.10. New XML element to wait for acknowledgment

When replaying a large database file, Replay Service may shut down before a subscribing application receives all the samples. This can be solved using the new tag <on_delete_wait_for_ack_timeout>.

11.5.1.11. Repetitive and misleading message repeated at end of recording (rollover not enabled)

When Recording Service was used with filesets enabled but no rollover, if the end of the recording was reached (meaning all files in the fileset were completely full with data), a message was continuously printed:

Although this message was benign, it could be misleading. There were no actual errors, but the file size limit was reached, so it was no longer possible to write any more data.

This issue has been resolved. Recording Service will now print just one warning that the end of the fileset has been reached. No recording will happen after that, as expected.

11.5.1.12. Extended -verbosity command-line parameter to specify service and DDS verbosity independently

Recording Service’s -verbosity command-line parameter now allows you to specify separate verbosity levels for service and DDS logs.

For example, you can specify the verbosity as follows:

-verbosity WARN:EXCEPTION

This will set the verbosity to warning level for service logs and exception level for DDS logs.

For more information about -verbosity, see Recording Service Command-Line Parameters or run rtirecordingservice -help.

11.5.1.13. Service monitoring now reports CPU usage for individual Session threads

Service monitoring now includes CPU usage for each thread in a Session’s thread pool. A new optional member has been added to the SessionPeriodic type that includes a sequence of CPU usage for each thread in Session’s thread pool.

11.5.1.14. Added a Service constructor that receives a shutdown hook

Recording Service now has the ability to notify the user when a request to terminate the process is generated, either from remote administration or if the replay completes. The notification is provided through a shutdown hook that can be passed to the service constructor.

See rti::recording::Service for more information.

11.5.1.15. New API to execute administration commands directly on a Service

The rti::recording::Service class has a new operation that allows you to execute administration commands as direct calls on the service. The operation has the following signature:

CommandReply execute_command(const CommandRequest& request);

For details, see Remote Administration.