View Issue Details

IDProjectCategoryView StatusLast Update
0005936Feature RequestsFeature Requestpublic2021-06-03 18:50
ReporterDavid Levine Assigned ToRandy Armstrong  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status closedResolutionno change required 
Summary0005936: Method calls should have a timeout or some other way for a client to break a stalled call.
Description

If method timeouts are defined somewhere in the spec please identify it. The only statement I can find in the spec about method timeouts is this: "Execution times for Methods may vary, depending on the function that they perform."

I have not found anything in the spec that offers a mechanism for a client to cancel, abort, or otherwise cause the termination of a call to a method other than terminating the session.

An operation can fail for all sorts of reasons, including the server taking so long to execute that the client no longer needs the result, even if the call were to eventually succeed. A method call that does not return may block the client from making other method calls until the current one completes - the server may only support one at at time, or the client may not support multiple calls on the same session.

Goals:
1) Client shall be able to cancel a method call while it is in-progress.
2) Client shall be able to specify an optional timeout value, after which the call to the server returns with a timeout error code. How to server handles the timeout condition is server specific - it can try to abort or otherwise cancel the call, let it run to completion and then not notify the client, etc.
3) Server may have its own timeout limit, in which case it may terminate a method call.

Error codes to be defined as needed to accurately specify the reason for the method failure.

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Randy Armstrong

2020-09-10 09:50

administrator   ~0012777

See the Cancel Service:
https://reference.opcfoundation.org/v104/Core/docs/Part4/5.6.5/

All Service calls have a timeout mechanism that behaves the way you suggest:
See TimeoutHint:
https://reference.opcfoundation.org/v104/Core/docs/Part4/7.28/

Please update the issue with an explanation on why the current mechanisms are not sufficient.

David Levine

2020-09-16 17:36

developer   ~0012863

Thanks for the info; I was not aware of those options because the toolkit I am using does not provide access to those or expose them to the adopter.
You can close this issue.

Issue History

Date Modified Username Field Change
2020-09-10 09:33 David Levine New Issue
2020-09-10 09:50 Randy Armstrong Assigned To => Randy Armstrong
2020-09-10 09:50 Randy Armstrong Status new => feedback
2020-09-10 09:50 Randy Armstrong Note Added: 0012777
2020-09-16 17:36 David Levine Note Added: 0012863
2020-09-16 17:36 David Levine Status feedback => assigned
2021-06-03 18:50 Jim Luth Status assigned => closed
2021-06-03 18:50 Jim Luth Resolution open => no change required