Problem
I’m using OpenSplice to transmit huge packages (about 150Kb per package), and the receiver never receives them. Debugging, it turns out that packages don’t seem to be sent out by the system.
Solution
Many times, people find the difference between ‘history’ and ‘reliability’ somewhat confusing so maybe that’s the case here too.
When published data doesn’t arrive, it can be due to it being pushed out of a writer/reader history OR actually being ‘lost’ on the wire.
For reliable data getting ‘lost’ on the wire, something must be going terribly wrong as our wire-protocol should recover from packet loss and in case such unlikely thing would actually happen, there would be reports from such unexpected behavior in the info- and/or error-logs as well as SAMPLE_LOST status being reported to the application.
So perhaps the ‘issue’ is that you have not configured your writer and reader(s) to use a KEEP_ALL history policy as the default is KEEP_LAST which for instance means that when you’re writing faster than what the network can ‘handle’, your data will be overwritten already in the writer i.e. old samples of an instance will be ‘pushed-out’ in favor of new samples .. a pattern called ‘last-value reliability’ which makes sense in many use-cases where its more useful to transmit ‘recent’ data than old data .
Note that the same can happen at the reader-side if your application doesn’t read the data quickly enough implying that ‘incoming data’ from the network will push old samples of an instance out in favor of new samples for that same instance.
See also: https://kbase.zettascale.tech/article/whats-relationship-reliability-history/