View Issue Details

IDProjectCategoryView StatusLast Update
0006033NodeSets, XSDs and Generated CodeApi Changepublic2020-11-17 16:51
ReporterJim Luth Assigned ToRandy Armstrong  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Summary0006033: Subscription publish Min 02 - retransmission queue
Description

States that support for a retransmission queue is not required, but this statement does not provided enough details on how the server should function with regard to acknowledgement of sequence numbers. This cause interoperability issue with regards to clients that send an ack for the received sequence number. The specification say to return an error is the sequencenumber is not in the list.

This conformance unit should either:
1) not allow a 0 size, but at least have a size of 1 (i.e. the message that just went out (which will allow clients to ack it) [preferred]
2) add text about behavior with regard to client ack of the sequence number - i.e. all number passed if no queue is present are always just accepted (no Bad_SequenceNumberUnknown is returned - just a good) - review all other specification section since multiple other location in the spec describe that a retransmission queue is required and describe behavior related to it. - this may require updates more updates in other parts also.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0005634 closedMatthias Damm 10000-004: Services Subscription publish Min 02 - retransmission queue 
related to 0006236 closedRandy Armstrong NodeSets, XSDs and Generated Code Subscription publish Min 02 - retransmission queue 

Activities

Jim Luth

2020-09-17 15:16

administrator   ~0012912

Add return code: Good-RetransmissionQueueNotSupported to be returned in the Publish.
Possibly add a ServerCapabilities to indicate support for Retransmission (Part 5).

Matthias Damm

2020-09-17 15:16

reporter   ~0012913

5.13 Subscription Service Set
5.13.1.1 Description
Replace i) with the following text:
Sessions maintain a retransmission queue of sent NotificationMessages. NotificationMessages are retained in this queue until they are acknowledged. The Session shall maintain a retransmission queue size of at least two times the number of Publish requests per Session the Server supports. A Profile in OPC 10000-7 may make the retransmission queue support optional. The minimum number of Publish requests per Session the Server shall support is defined in OPC 10000-7. Clients are required to acknowledge NotificationMessages as they are received if the Publish response parameter availableSquenceNumber is not an empty array. An empty array in availableSquenceNumber indicates that the Server does not support a retransmission queue and acknowledgemet of NotificationMessages. In the case of a retransmission queue overflow, the oldest sent NotificationMessage gets deleted. If a Subscription is transferred to another Session, the queued NotificationMessages for this Subscription are moved from the old to the new Session.

5.13.5 Publish

Table 95 – Publish Service Parameters
Replace availableSequenceNumbers description with the following text:
A list of sequence number ranges that identify unacknowledged NotificationMessages that are available for retransmission from the Subscription’s retransmission queue including the sequence number of this response if it is not a keep-alive Message. This list is prepared after processing the acknowledgements in the request (see 7.8 for Counter definition).
The list shall be empty if the Server does not support the retransmission queue. If the list is empty, the Client should not acknowledge sequence numbers.

Table 97 – Publish Operation Level Result Codes
Add status code to table
Good_RetransmissionQueueNotSupported
The Server does not support retransmission queue and acknowledgement of sequence numbers is not available.

Updated in OPC 10000-4 - UA Specification Part 4 - Services 1.05.0 Draft11.docx
Errata is prepared

Jim Luth

2020-09-17 15:17

administrator   ~0012914

Add new error code .

Randy Armstrong

2020-11-15 04:41

administrator   ~0013213

Fixed in 1.04.8.

Jim Luth

2020-11-17 16:51

administrator   ~0013256

Agreed to 1.04.8 Errata and nodeset.

Issue History

Date Modified Username Field Change
2020-09-17 15:16 Jim Luth New Issue
2020-09-17 15:16 Jim Luth Issue generated from: 0005634
2020-09-17 15:16 Jim Luth Note Added: 0012912
2020-09-17 15:16 Jim Luth Note Added: 0012913
2020-09-17 15:16 Jim Luth Relationship added related to 0005634
2020-09-17 15:16 Jim Luth Project 10000-004: Services => NodeSets, XSDs and Generated Code
2020-09-17 15:16 Jim Luth Category Spec => Api Change
2020-09-17 15:17 Jim Luth Note Added: 0012914
2020-10-13 16:10 Jim Luth Assigned To => Randy Armstrong
2020-10-13 16:10 Jim Luth Status new => assigned
2020-11-10 16:49 Jim Luth Target Version => 1.04
2020-11-10 16:49 Jim Luth Issue cloned: 0006236
2020-11-10 16:49 Jim Luth Relationship added related to 0006236
2020-11-15 04:41 Randy Armstrong Status assigned => resolved
2020-11-15 04:41 Randy Armstrong Resolution open => fixed
2020-11-15 04:41 Randy Armstrong Note Added: 0013213
2020-11-17 16:51 Jim Luth Status resolved => closed
2020-11-17 16:51 Jim Luth Fixed in Version => 1.04
2020-11-17 16:51 Jim Luth Note Added: 0013256