Avatar
Please consider registering
guest
sp_LogInOut Log Insp_Registration Register
Register | Lost password?
Advanced Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
sp_Feed Topic RSSsp_TopicIcon
PubSub: SDK warns about old sequenceNumbers across multiple WriterGroups
June 9, 2026
15:57, EEST
Avatar
hbrackel
Member
Members
Forum Posts: 157
Member Since:
February 21, 2014
sp_UserOfflineSmall Offline

Hi,

I have a UDP publisher publishing 2 DataSets in 2 different DataSetWriterGroups at different publishingIntervals (1000ms and 2000ms).

The subscriber uses a single DataSetReader/group without preconfigured writer/publisher/.. ids to receive all possible messages on that multicast socket.

When logging the subscriber side, the SDK warns about old sequenceNumbers, comparing the sequenceNumbers from both received DataSetWriters. It is my understanding from the Standard Part 14, 7.2.4.5.4 DataSetMessage header, that the SequenceNumber is related to the DataSet and not to a publisher. Is the SDK sequence number evaluation possibly incorrect here?

WARN com.prosysopc.ua.pubsub.ao – Sequence number (17) indicates that the received message is older than the previous one (33).
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=17, publisherId=String:XXXXXX, writerGroupId=2, dataSetWriterIds=[2], dataSetMessageCount=1
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=34, publisherId=String:XXXXXX, writerGroupId=1, dataSetWriterIds=[1], dataSetMessageCount=1
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=35, publisherId=String:XXXXXX, writerGroupId=1, dataSetWriterIds=[1], dataSetMessageCount=1
WARN com.prosysopc.ua.pubsub.ao – Sequence number (18) indicates that the received message is older than the previous one (35).
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=18, publisherId=String:XXXXXX, writerGroupId=2, dataSetWriterIds=[2], dataSetMessageCount=1
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=36, publisherId=String:XXXXXX, writerGroupId=1, dataSetWriterIds=[1], dataSetMessageCount=1
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=37, publisherId=String:XXXXXX, writerGroupId=1, dataSetWriterIds=[1], dataSetMessageCount=1
WARN com.prosysopc.ua.pubsub.ao – Sequence number (19) indicates that the received message is older than the previous one (37).
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=19, publisherId=String:XXXXXX, writerGroupId=2, dataSetWriterIds=[2], dataSetMessageCount=1
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=38, publisherId=String:XXXXXX, writerGroupId=1, dataSetWriterIds=[1], dataSetMessageCount=1
WARN com.prosysopc.ua.pubsub.ao – Sequence number (20) indicates that the received message is older than the previous one (38).
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=20, publisherId=String:XXXXXX, writerGroupId=2, dataSetWriterIds=[2], dataSetMessageCount=1
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=39, publisherId=String:XXXXXX, writerGroupId=1, dataSetWriterIds=[1], dataSetMessageCount=1
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=40, publisherId=String:XXXXXX, writerGroupId=1, dataSetWriterIds=[1], dataSetMessageCount=1
INFO MyService – PubSubUdpUadpConnectionNetworkMessageReceivedEvent: seqNo=41, publisherId=String:XXXXXX, writerGroupId=1, dataSetWriterIds=[1], dataSetMessageCount=1
WARN com.prosysopc.ua.pubsub.ao – Sequence number (21) indicates that the received message is older than the previous one (41).
June 10, 2026
10:25, EEST
Avatar
Lusetti
Moderator
Members

Moderators
Forum Posts: 5
Member Since:
May 5, 2020
sp_UserOfflineSmall Offline

Hi hbrackel,

You seem to be correct. Looking at the code, the DataSetReader implementation currently holds only one lastDataSetSequenceNumber, which is used when producing that warning log. Consequently, if multiple DataSetWriters are received by the same DataSetReader, the implementation does not distinguish the source of the sequence number.

Based on this, the sequence number validation should likely be tracked at least per DataSetWriter, even when the DataSetReader is the same.

I’ll create an issue for this. Thanks for the report.

Forum Timezone: Europe/Helsinki
Most Users Ever Online: 1919
Currently Online:
Guest(s) 46
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Heikki Tahvanainen: 402
hbrackel: 149
rocket science: 128
pramanj: 86
Francesco Zambon: 83
Ibrahim: 78
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
Member Stats:
Guest Posters: 0
Members: 912
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1599
Posts: 6757
Newest Members:
AlbertPycle, issacwilloughby, Knut, morrisvqd188879, heathdallachy85, dewittfrantz2, devonkeenan47, chnmrc, ahmad.qureshi3@se.abb.com
Moderators: Jouni Aro: 1059, Pyry: 1, Petri: 1, Bjarne Boström: 1106, Jimmy Ni: 26, Matti Siponen: 372, Lusetti: 1
Administrators: admin: 1