View Issue Details

IDProjectCategoryView StatusLast Update
000397210000-004: ServicesSpecpublic2017-11-09 17:55
ReporterLiam Power Assigned ToMatthias Damm  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Product Version1.02 
Summary0003972: Continuation Point Behaviour is a little ambiguous
Description

Extensive functionality is provided in service calls to allow Clients to control the lifetime of continuation points and their associated operations. Clients can explicitly release old continuation points if required.

Section 7.6 states that continuation points from previous service calls shall be automatically released when a new request requires a continuation point and none are available. This can result in strange behaviour in certain instances.

For example, with History Read the "Historical Raw Data Server Facet" mandates that enough continuation points must be available to cover the MaxNodesPerHistoryReadData Server OperationLimits Property. If a server supports this facet and shall automatically release continuation points from previous calls then the case of continuation points being unavailable never arises and the server will never return an operation level result of BadNoContinuationPoints.

Is it desirable that a server should silently release continuation points on a Client without the Client requesting the release? There is no attack vector here as continuation points are effectively supported per session so there should be no interactions between sessions. If the Client forgets to release a continuation point it will be released when the session is closed in any case.

If the WG is happy with the current specification that is fine but to me it would be preferable if the server allowed the Client to decide if and when to release continuation points.

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Jim Luth

2017-10-17 15:54

administrator   ~0008586

Last edited: 2017-10-17 15:55

Discussed in today's UA call. The proposal is to remove the following required behavior:

"A Server shall automatically free Continuation Points from prior requests if they are needed for new requests."

This would be a breaking change for something that is likely already tested by the CTT. This will require more version interop consideration before agreeing to this change.

Jim Luth

2017-10-17 16:07

administrator   ~0008587

Last edited: 2017-10-17 16:08

Agreed to "fix" this issue by clarifying that the pool of continuation points that are re-used are on a Session basis so the client is in control and multiple client sessions can not interfere and starve other clients.

Matthias Damm

2017-10-23 13:54

developer   ~0008593

Added different clarifications to ContinuationPoint definition:

  • Added Session relation to automatic release ContinuationPoint text
  • Added text to automatic release definition: "A Client can avoid this situation by completing paused operations before starting new operations."
  • Added text to Bad_NoContinuationPoints error handling: "A Client can avoid this situation by sending requests with a number of operations that do not exeed the maximum number of ContinuationPoints per Session defined for the Service in the ServerCapabilities Object defined in Part 5."

Changes in "OPC UA Part 4 - Services RC 1.04.21 Specification.docx"

Jim Luth

2017-11-09 17:55

administrator   ~0008672

Reviewed and agreed to close in 2017-10-24 Telecon.

Issue History

Date Modified Username Field Change
2017-09-27 20:29 Liam Power New Issue
2017-10-17 15:54 Jim Luth Note Added: 0008586
2017-10-17 15:55 Jim Luth Note Edited: 0008586
2017-10-17 16:07 Jim Luth Note Added: 0008587
2017-10-17 16:07 Jim Luth Target Version => 1.04
2017-10-17 16:08 Jim Luth Note Edited: 0008587
2017-10-17 16:08 Jim Luth Assigned To => Matthias Damm
2017-10-17 16:08 Jim Luth Status new => assigned
2017-10-23 13:54 Matthias Damm Note Added: 0008593
2017-10-23 13:54 Matthias Damm Status assigned => resolved
2017-10-23 13:54 Matthias Damm Resolution open => fixed
2017-11-09 17:55 Jim Luth Note Added: 0008672
2017-11-09 17:55 Jim Luth Status resolved => closed