5.6.11. Logging
5.6.11.1. [Trivial] Error messages printed if reader responded to heartbeat from remote writer that was partially removed
This issue was fixed in release 7.3.0, but not documented at that time.
When a remote DomainParticipant is removed (for example, due to a partition change to an unmatching partition), the local DomainParticipant will remove the remote endpoints associated with the remote participant. Until the remote endpoints are fully removed, local DataReaders may still attempt to process and respond to heartbeats from a remote DataWriter. You may have encountered the following ERROR level message if this occurred:
ERROR [0x0101A69B,0xF74F3CBB,0x247AF7B3:0x00010187{Entity=DR,MessageKind=HEARTBEAT}|RECEIVE FROM 0x01012628,0x6F49954A,0x17AF8C82:0x00010182] PRESPsService_readerSampleListenerOnGetFreeCount:!update liveliness for valid local reader remote writer matches
This error message has been removed for the cases where a remote DataWriter has been partially removed. You may now encounter the following REMOTE level log message instead, indicating that Connext has failed to look up the remote DataWriter:
REMOTE [0x010159FA,0xF14CAC35,0xD9959584:0x00010187{Entity=DR,MessageKind=HEARTBEAT}|RECEIVE FROM 0x01015572,0xFE4893B3,0x38A8F9A8:0x00010182] PRESPsService_updateLocalReaderRemoteWriterMatchesWithAction:!goto WR pres psRemoteWriter
[RTI Issue ID CORE-14246]
5.6.11.2. [Trivial] Failure getting the Logger instance during instance creation overwrote the verbosity levels of all logging categories to random levels
When the Distributed Logger instance is being created (by calling
DistLogger::get_instance()), Connext temporarily sets the verbosity
of each logging category to silent to avoid logging messages while
the creation is not completed. The verbosity is restored to the previous
values once the creation finished.
If the internal function that caches the verbosity levels failed getting
the rti::config::Logger instance, the variable that stored the
previous verbosity levels was not populated and the get_instance
operation continued without realizing the failure. Then, when the
verbosities were restored to their “original values”, they were
overwritten with arbitrary values instead. As a result, after the
failure, the verbosity level for each category was unintentionally
changed to a random level.
Before modifying the verbosities, the following Distributed Logger error was printed:
DL Error: RTI_DL_DistLogger_maskSystemVerbosity: Unable to get RTI Logger
This issue is fixed. Now, if the caching of the verbosity levels fails,
the get_instance method is notified and the execution is aborted.
Note that it is highly unlikely that the function that caches the verbosity levels fails.
[RTI Issue ID DISTLOG-241]