Fast-DDS icon indicating copy to clipboard operation
Fast-DDS copied to clipboard

related_sample_identity of eprosima::fastrtps::rtps::SampleIdentity not work in service mode [15525]

Open mxg1984 opened this issue 2 years ago • 3 comments

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

mxg1984 avatar Jul 27 '22 12:07 mxg1984

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 avatar Aug 01 '22 08:08 juanlofer-eprosima

@juanlofer-eprosima thank you very much for your replying. I will test the method you advised.

mxg1984 avatar Aug 03 '22 03:08 mxg1984

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.

EduPonz avatar Aug 03 '22 05:08 EduPonz

Closing due to inactivity

EduPonz avatar Oct 28 '22 05:10 EduPonz