You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Individual .db3 files within a split bag use the index to return messages in timestamp order when reading (playing). However, a file is played in full before a next file is loaded. That next file could then return messages with timestamps before the end time of the previous bag, if messages were written out-of-timestamp order across a file boundary.
Old title: Open all sqlite3 files simultaneously (if they are local) to eliminate out-of-order timestamps problem. Changed to reflect the problem, rather than solution space.
emersonknapp
changed the title
[Consider] Open all sqlite3 files simultaneously (if they are local) to eliminate out-of-order timestamps problem
Reading can return out-of-order timestamps across file boundary in split bags
Aug 19, 2022
This issue was resolved by using priority queue sorted by timestamp on upper rosbag2_transport::player level.
We have a separate thread which is reading out next message from rosbag2_cpp::reader and pushing it to the priority queue.
Therefore, the messages will be naturally sorted up to the priority queue size, which is by default 1000 messages. Reader:read_next() taking care about switching to the next bag split if no more elements in the current bag file.
Description
Individual
.db3
files within a split bag use the index to return messages in timestamp order when reading (playing). However, a file is played in full before a next file is loaded. That next file could then return messages with timestamps before the end time of the previous bag, if messages were written out-of-timestamp order across a file boundary.Old title:
Open all sqlite3 files simultaneously (if they are local) to eliminate out-of-order timestamps problem
. Changed to reflect the problem, rather than solution space.Related to #842
The text was updated successfully, but these errors were encountered: