Skip to content
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

[RTPS_HISTORY Error] history payload size of '5000' bytes is too small #213

Closed
sloretz opened this issue May 9, 2018 · 6 comments
Closed

Comments

@sloretz
Copy link
Contributor

sloretz commented May 9, 2018

The memory policy used by HistoryAttributes is PREALLOCATED_MEMORY_MODE. Would it be possible to expose this to users? The preallocated size is too small for FastRTPS to communicate successfully with RTI connext in some situations.

Connext by default sends TypeObject information as part of the DDS-XTYPES. As far as I can tell the maximum size of a TypeObject is unbounded. This can result in failure to match and a lot of console spam if a message type is big enough.

[RTPS_HISTORY Error] Change payload size of '5100' bytes is larger than the history payload size of '5000' bytes [...]

See also ros2/rmw_connext#288 and ros2/rmw_fastrtps#194 and this comment.

@MiguelCompany
Copy link
Member

Guess we could add reader and writer history attributes to the BuiltinAttributes class, and also provide support for them in the XML parser.

Would that be enough?

@sloretz
Copy link
Contributor Author

sloretz commented May 10, 2018

As in it would allow something like the following? I think that would do it.

ParticipantAttributes participantAttrs;
// ...
participantAttrs.rtps.builtin.readerHistoryMemoryPolicy = PREALLOCATED_WITH_REALLOC_MEMORY_MODE;
participantAttrs.rtps.builtin.writerHistoryMemoryPolicy = PREALLOCATED_WITH_REALLOC_MEMORY_MODE;

@mikaelarguedas
Copy link
Contributor

@MiguelCompany friendly 🛎️ , any update on this ?

@richiware
Copy link
Member

richiware commented Jul 24, 2018 via email

@mikaelarguedas
Copy link
Contributor

Thanks @richiware!

We implemented the change on our side as well, feel free to close this issue 👍 (I cannot close it myself as I'm not the original poster)

@sloretz sloretz closed this as completed Jul 31, 2018
@Aposhian
Copy link

I'm getting this issue with the Nav2 lifecycle manger on ROS2 Humble:

[RTPS_READER_HISTORY Error] Change payload size of '24' bytes is larger than the history payload size of '11' bytes and cannot be resized. -> Function can_change_be_added_nts

This is with the default FastDDS config for ROS2, which should include PREALLOCATED_WITH_REALLOC, but then DYNAMIC for services? This error message doesn't give a GUID, so I'm having trouble narrowing it down further, but I'm guessing this is coming form a service.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants