Snapshot mode throws away transient local topics when the buffer is full (in other words, tf_static is lost) #1886
Labels
bug
Something isn't working
Content-Length: 202912 | pFad | http://github.com/ros2/rosbag2/issues/1886
8BFetched URL: http://github.com/ros2/rosbag2/issues/1886
Alternative Proxies:
Description
Not completely a bug, but due to the current design of
MessageCacheCircularBuffer
, all incoming topics are using the same buffer regardless of their QoS.Hence, when the buffer is full, when we start erasing older messages, we could be erasing messages with transient local that would have been useful to keep.
An example is the
/tf_static
topic, that will be typically received by the snapshot bag recorder at the very beginning and hence throw away as soon as the buffer is full. And this topic will be missing when replaying the bag.Expected Behavior
Support the
/tf_static
use case, i.e. save and replay/tf_static
properly (and other transient local messages)Actual Behavior
Cannot replay
/tf_static
To Reproduce
/tf_static
./tf_static
will be missing.System (please complete the following information)
Additional context
I will push a draft PR to discuss how to fix this asap.
Edit: here #1887
The text was updated successfully, but these errors were encountered: