Fast-DDS
Fast-DDS copied to clipboard
related_sample_identity of eprosima::fastrtps::rtps::SampleIdentity not work in service mode [15525]
Is there an already existing issue for this?
- [X] I have searched the existing issues
Expected behavior
"related_sample_identity is an extension for requester-replier configuration. On reply messages, it contains the sample_identity of the related request message. It is used by the requester to be able to link each reply to the appropriate request."
Expect it works as above description states.
Current behavior
I use the following project to test service mode of Fast DDS: https://github.com/eProsima/Integration-Service/blob/main/examples/utils/dds/DDSAddTwoInts
when I launched two clients simultaneously and a server, clients crashed.
Steps to reproduce
In the build directory of the project, launching 3 terminal: Terminal 1: ./DDSAddTwoInts -m client -c 10 Terminal 2: ./DDSAddTwoInts -m client -c 10 Terminal 3: ./DDSAddTwoInts -m server
Fast DDS version/commit
2.7.0
Platform/Architecture
Ubuntu Focal 20.04 amd64
Transport layer
Default configuration, UDPv4 & SHM
Additional context
No response
XML configuration file
No response
Relevant log output
terminate called after throwing an instance of 'std::future_error'
what(): std::future_error: Promise already satisfied
Aborted
Network traffic capture
No response
Hi @mxg1984,
This example is just a simple utility developed for testing purposes, and is not intended to be used with multiple clients. However, making it work in this scenario would be as simple as adding a filter to the reply listener so that clients only process those replies directed to them (replies to requests sent by them).
@juanlofer-eprosima thank you very much for your replying. I will test the method you advised.
Hi @mxg1984,
"related_sample_identity is an extension for requester-replier configuration. On reply messages, it contains the sample_identity of the related request message. It is used by the requester to be able to link each reply to the appropriate request."
Expect it works as above description states.
I'm not completely sure this issue belongs into the Fast DDS repository. From what @juanlofer-eprosima told me, it is more about a limitation on the Integration Service example as he says. I'd like to understand whether you've also found something not working as expected regarding the sample identity; else I'll transfer the issue to the appropriate repository.
Closing due to inactivity