-
Notifications
You must be signed in to change notification settings - Fork 860
Description
Is there an already existing issue for this?
- I have searched the existing issues
Expected behavior
When I use Fast DDS, I run into a problem.
I send 1000 uint16 data points per write, and I write 100 times — that’s a total of 100,000 data points. I use persistence storage and I want the reader to be able to receive the data even if it starts later. However, I’m seeing that when the reader starts after the writer, it only receives the first 1,000–10,000 data points — the rest never arrive.
If I change it to send 1,000 writes instead, the reader can receive more historical data — around 10,000 points — but still not all of them. I’ve also tested with SQLite persistence, and the result is the same, which confuses me.
Here is my QoS configuration:
void DDSDataWriterQosHanler::setDurability(u_int32_t depth)
{
m_dataWriterQos.reliability().kind = RELIABLE_RELIABILITY_QOS;
m_dataWriterQos.reliability().max_blocking_time = {1, 0};
m_dataWriterQos.durability().kind = TRANSIENT_DURABILITY_QOS;
m_dataWriterQos.history().kind = KEEP_ALL_HISTORY_QOS;
// m_dataWriterQos.properties().properties().emplace_back("dds.persistence.guid", generate_ascii_guid());
m_dataWriterQos.history().depth = static_cast<int32_t>(depth);
}
void DDSDataWriterQosHanler::setResourceLimits(uint32_t max_samples = 0,
uint32_t max_instances = 0,
uint32_t max_samples_per_instance = 0)
{
m_dataWriterQos.resource_limits().max_samples = static_cast<int32_t>(max_samples);
m_dataWriterQos.resource_limits().max_instances = static_cast<int32_t>(max_instances);
m_dataWriterQos.resource_limits().max_samples_per_instance =
static_cast<int32_t>(max_samples_per_instance);
}
handler.setDurability(10000);
handler.setResourceLimits(-1, -1, -1);
The following figure: originally 100,000 points were sent, but only the first 8,000 were received.”
Current behavior
no
Steps to reproduce
no
Fast DDS version/commit
3.2.2
Platform/Architecture
Ubuntu Focal 20.04 amd64
Transport layer
Default configuration, UDPv4 & SHM
Additional context
No response
XML configuration file
Relevant log output
Network traffic capture
No response