-
Notifications
You must be signed in to change notification settings - Fork 260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add update_metadata(BagMetadata)
API for storage plugin interface
#1149
Add update_metadata(BagMetadata)
API for storage plugin interface
#1149
Conversation
- We need update_metadata(BagMetadata) API to be able to save BagMetadata inside each bag file, directly in SQLite DB or MCAP file. - update_metadata(BagMetadata) calling ones after creating storage object and second time just before destructing it. Signed-off-by: Michael Orlov <[email protected]>
update_metadata(BagMetadata)
for storage plugins interfaceupdate_metadata(BagMetadata)
API for storage plugins interface
update_metadata(BagMetadata)
API for storage plugins interfaceupdate_metadata(BagMetadata)
API for storage plugin interface
- Check for `storage_` is not nullptr since it could be called from destructor - Add `storage_->update_metadata(metadata_)` in `SequentialCompressionWriter::close()` Signed-off-by: Michael Orlov <[email protected]>
- Test that storage->update_metadata() called on writer open and during writer destruction. - Test that storage->update_metadata() calling with appropriate parameters when calling `bag_split()` Signed-off-by: Michael Orlov <[email protected]>
- Test that storage->update_metadata() called on writer open and during writer destruction. - Test that storage->update_metadata() calling with appropriate parameters when calling `bag_split()` Signed-off-by: Michael Orlov <[email protected]>
a67be0d
to
6f18793
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me.
Gist: https://gist.githubusercontent.com/MichaelOrlov/e5b179b77a8b80102736bf330fa8fa3f/raw/ee348d57a834af87ed47ffd16a48fc6a75ec5de1/ros2.repos |
Re-run CI after rebasing and fixing merge conflicts |
We need
update_metadata(BagMetadata)
API to be able to saveBagMetadata
directly inside each bag file, in SQLite DB or MCAP file.update_metadata(BagMetadata) calling ones after creating storage object and second time just before destructing it.
Also added caching for
SqliteStorage::get_metadata()
as follow up for Don't reopen file for every seek if we don't have to. Search directionally for the correct file #1117Note: Real saving of bag metadata in SQLite DB will be done in separate PR after Store DB schema versioning in .db3 files #1108. We need to bring this API first to unblock inform storage plugin about message-level compression #1144
Relates:
Signed-off-by: Michael Orlov [email protected]