Skip to content

Change the buffer-aware BUFBE: -> bufbe.#880

Merged
clalancette merged 1 commit intorollingfrom
clalancette/fix-bufbe
May 5, 2026
Merged

Change the buffer-aware BUFBE: -> bufbe.#880
clalancette merged 1 commit intorollingfrom
clalancette/fix-bufbe

Conversation

@clalancette
Copy link
Copy Markdown
Contributor

@clalancette clalancette commented Apr 30, 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.

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>
@clalancette
Copy link
Copy Markdown
Contributor Author

Here is CI with this and all of the other PRs listed here:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

Copy link
Copy Markdown
Collaborator

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the PR description says "no user-facing behavior change" and "should be backported to Lyrical." If anyone has used buffer-aware code based on the unpatched form (are we expecting this fix is going to be merged before release?), this rename is a wire break for them? i guess that is probably not a great idea?

@clalancette
Copy link
Copy Markdown
Contributor Author

the PR description says "no user-facing behavior change" and "should be backported to Lyrical." If anyone has used buffer-aware code based on the unpatched form (are we expecting this fix is going to be merged before release?), this rename is a wire break for them? i guess that is probably not a great idea?

That's a good point, but in my opinion, since Lyrical isn't released yet, this is fine to do. Once Lyrical ships, then I think it would be a breaking change and we'd have to figure something else out. But I'm open to other opinions.

Copy link
Copy Markdown
Collaborator

@MiguelCompany MiguelCompany left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@clalancette
Copy link
Copy Markdown
Contributor Author

clalancette commented May 4, 2026

Here's another build with the updates in place:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@clalancette
Copy link
Copy Markdown
Contributor Author

@clalancette clalancette merged commit 35a62b8 into rolling May 5, 2026
3 checks passed
@clalancette clalancette deleted the clalancette/fix-bufbe branch May 5, 2026 19:38
@clalancette
Copy link
Copy Markdown
Contributor Author

@Mergifyio backport lyrical

@mergify
Copy link
Copy Markdown

mergify Bot commented May 5, 2026

backport lyrical

✅ Backports have been created

Details

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.

3 participants