View Issue Details

IDProjectCategoryView StatusLast Update
0003641Compliance Test Tool (CTT) Unified Architecture3 - Feature Requestpublic2021-10-15 01:29
ReporterThomas Reuther Assigned ToAlexander Allmendinger  
PrioritynormalSeverityfeatureReproducibilityalways
Status assignedResolutionopen 
PlatformWindowsOSWindowsOS Version7 Pro
Product Version1.02.334.200 
Target Version1.04 
Summary0003641: Missing keep-alive messages to prevent session timeout
Description

CTT ver. 1.2.336.273
I recognized that if a server has a very limited session timeout (revised session timeout e.g. 60s) and a test takes longer than that 60s then this will fail with BadSessionIdInvalid. It seems the server "sees" no more client activities.
I need some "keep-alive" handling to prevent the CTT from being disconnected from that server.
(If the server's session timeout would be e.g. 10 min then this problem does not occur.)

Steps To Reproduce

Take a server that returns a revised session timeout of e.g. 60s.
Run script /Session Services/Session Minimum 500 Parallel/001.js
In my environment this test takes more than 60s. All sessions are invalidated before the test ends. (In my environment I have even more user defined tests that take longer than 60s. They all fail because their sessions become invalid.)

Additional Information

The Java Toolkit downloaded from the OPC Foundation website has the same problem.
The .Net Toolkit also downloaded from the OPC Foundation website does it right (no unexpected timeout).

TagsNo tags attached.
Files Affected

Activities

Paul Hunkar

2017-08-10 15:07

administrator   ~0008352

Question: is the revised session timeout configurable? The script tries to create the maximum session listed by the server, if this listed number is 500, then the server should be able to support a longer session timeout. Why is the revised session timeout 60 seconds?

Thomas Reuther

2017-08-11 07:15

reporter   ~0008354

The short server session timeout is product-specific. It is not adjustable.

I also heard that the Softing toolkit uses a hidden subscription on Server/ServerStatus/CurrentTime where PublishingInterval = SessionTimeout/2 just to prevent unwanted session timeouts.

Paul Hunkar

2021-10-15 01:29

administrator   ~0015182

Updated test case (and test scripts) to include to issue a read of server status at 1/2 of the revised session timeout for all sessions (i.e. in a separate thread - cycle through all session and issue a read at least once every 1/2 session timeout)

Issue History

Date Modified Username Field Change
2016-12-12 12:52 Thomas Reuther New Issue
2017-08-10 15:07 Paul Hunkar Note Added: 0008352
2017-08-10 15:07 Paul Hunkar Assigned To => Paul Hunkar
2017-08-10 15:07 Paul Hunkar Status new => feedback
2017-08-11 07:15 Thomas Reuther Note Added: 0008354
2017-08-11 07:15 Thomas Reuther Status feedback => assigned
2019-01-05 17:29 Paul Hunkar Assigned To Paul Hunkar => Alexander Allmendinger
2019-01-07 15:50 Paul Hunkar Target Version => 1.04
2019-01-28 14:14 Paul Hunkar Category Feature Request => 3 - Feature Request
2021-10-15 01:29 Paul Hunkar Note Added: 0015182