Skip to content

Change the buffer-aware BUFBE: -> bufbe. (backport #880)#884

Merged
clalancette merged 2 commits into
lyricalfrom
mergify/bp/lyrical/pr-880
May 9, 2026
Merged

Change the buffer-aware BUFBE: -> bufbe. (backport #880)#884
clalancette merged 2 commits into
lyricalfrom
mergify/bp/lyrical/pr-880

Conversation

@mergify
Copy link
Copy Markdown

@mergify mergify Bot commented May 5, 2026

Description

The buffer-aware work appends a BUFBE: sentinel to the publisher's user_data QoS field. But parse_key_value does not support colons in keys, so all type hashes for buffers using this would be INVALID.

Fix this by dropping the colon from the sentinel, which makes it pass parse_key_value and keep type hashes working.

Also add in a regression test here.

This should be merged at approximately the same time as #879 , #881 , and ros2/system_tests#592

Is this user-facing behavior change?

No.

Did you use Generative AI?

Yes, Claude Opus 4.7

Additional Information

This should be backported to Lyrical.


This is an automatic backport of pull request #880 done by Mergify.

The buffer-aware work appends a BUFBE: sentinel to the
publisher's user_data QoS field.  But parse_key_value
does not support colons in keys, so all type hashes
for buffers using this would be INVALID.

Fix this by dropping the colon from the sentinel, which
makes it pass parse_key_value and keep type hashes working.

Also add in a regression test here.

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
(cherry picked from commit 35a62b8)
* Fix rmw_take_serialized.

rmw_take and rmw_take_with_info already check info->is_buffer_aware_
to do special handling of buffer aware data.  However, the serialized
versions (rmw_take_serialized_message and
rmw_take_serialized_message_with_info) don't do that check.  That means
that there is no data delivered in the serialized path.

The fix is to add in a new helper for both functions which
looks for is_buffer_aware_ first.  If it is buffer aware, it
copies the data out, and if not, it continues on to the normal
__rmw_take_serialized_message path.



* Feedback from review.



---------


(cherry picked from commit fa15754)

Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Co-authored-by: Chris Lalancette <clalancette@gmail.com>
@clalancette
Copy link
Copy Markdown
Contributor

CI for this is in ros2/system_tests#593 (comment)

@clalancette clalancette merged commit e59f5b0 into lyrical May 9, 2026
3 checks passed
@clalancette clalancette deleted the mergify/bp/lyrical/pr-880 branch May 9, 2026 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants