View Issue Details

IDProjectCategoryView StatusLast Update
0005626CTT UA Scripts1 - Script Issuepublic2022-10-13 15:27
ReporterThomas Merk Assigned ToSebastian Allmendinger  
PrioritynormalSeverityminorReproducibilityrandom
Status closedResolutionfixed 
Fixed in Version1.03.501 
Summary0005626: Session / Session Change User / 001.js
Description

The script expects a data change after changing the user credentials.
The monitored item is the "CurrentTime", Publish interval and MI sampling interval not specified.

A server may update the current time slower than the executed wait time, so no publish response is received.
Our server updates the CurrentTime variable only once a second.

=> Configure publishing interval to exceed 1 second at minimum.

TagsNo tags attached.
Files Affected

/maintree/Session Services/Session Change User/Test Cases/001.js

Activities

Thomas Merk

2020-06-16 13:05

reporter   ~0012335

Still valid for 1.4.9.396

Sebastian Allmendinger

2021-04-07 09:41

developer   ~0014177

The test script has been updated, so that a PublishingInterval of 1000 ms is requested when creating the Subscription.
Note: The current implementation is using the "Default Subscription Publish Interval" setting of the CTT. To validate the correct behavior of the server for this test case, you can increase this setting to a suitable value.

Paul Hunkar

2021-04-29 15:14

administrator   ~0014280

Reviewed in CMP call. Agreed to changes and closed

Bernd Edlinger

2022-09-27 11:45

reporter   ~0017848

Sorry, but changing the publishing interval did not really change anything.
Actually the same issue also affects the also Session / Session Change User / 002.js and 004.js,
those still use a 250 ms sampling interval, but they also fail sporadically, in a very similar way.

We think we have is a race condition between the revised publishing interval of the subscription (1000ms),
and the revised sampling interval of the monitored item (also 1000ms, but starts when the MI is created),
and the time when the publish request is sent, which is also done after 1000ms almost in sync with the publishing interval,
and the internal timer that increments the CurrentTime variable, also executed every 1000ms but asynchronously to the publishing.

Bernd Edlinger

2022-09-28 12:13

reporter   ~0017873

This capture "mantis5652.pcapng" shows how the 002.js and 004.js fail.
The first publish request is a few milliseconds too early, and therefore
an keep alive is returned.
I think this failure would likely be fixed by changing these scripts to
use 1000 ms publishing interval like the 001.js does.

mantis5652.pcapng (105,564 bytes)

Bernd Edlinger

2022-09-28 12:18

reporter   ~0017874

However this capture "mantis5652_fali1.pcapng" shows how 001.js fails,
NOTE: and both 002.js and 004.js are manually changed to use
var ChangeUserSubscription = new Subscription( 1000 );

I am not sure if the server is allowed to send a keepalive after the
subscription has publishing interval = 1000ms and maxKeepAlive = 3,
so if that is wrong, we have to fix that, otherwise you will need
to add a small extra delay here.

mantis5652_fail1.pcapng (106,284 bytes)

Alexander Allmendinger

2022-10-13 15:22

developer   ~0018024

Adopted the changes (increase PublishingInterval to 1 second) of the initial solution to all other test scripts of this Conformance Unit.
Also set the FirstPublish parameter when sending Publish for the first time. This allows server to provide an empty KeepAlive after the first publishing interval has been elapsed if no sample is yet available.

Paul Hunkar

2022-10-13 15:27

administrator   ~0018025

Reviewed issue in call, agreed to changes and closed issue

Issue History

Date Modified Username Field Change
2020-05-07 11:45 Thomas Merk New Issue
2020-05-08 16:40 Paul Hunkar Assigned To => Alexander Allmendinger
2020-05-08 16:40 Paul Hunkar Status new => assigned
2020-06-16 13:05 Thomas Merk Note Added: 0012335
2021-04-07 09:41 Sebastian Allmendinger Note Added: 0014177
2021-04-08 10:18 Sebastian Allmendinger Assigned To Alexander Allmendinger => Sebastian Allmendinger
2021-04-08 10:18 Sebastian Allmendinger Status assigned => resolved
2021-04-08 10:18 Sebastian Allmendinger Resolution open => fixed
2021-04-08 10:18 Sebastian Allmendinger Fixed in Version => 1.03.341.399
2021-04-29 15:14 Paul Hunkar Status resolved => closed
2021-04-29 15:14 Paul Hunkar Note Added: 0014280
2022-09-27 11:45 Bernd Edlinger Status closed => feedback
2022-09-27 11:45 Bernd Edlinger Resolution fixed => reopened
2022-09-27 11:45 Bernd Edlinger Note Added: 0017848
2022-09-28 12:13 Bernd Edlinger Note Added: 0017873
2022-09-28 12:13 Bernd Edlinger File Added: mantis5652.pcapng
2022-09-28 12:18 Bernd Edlinger Note Added: 0017874
2022-09-28 12:18 Bernd Edlinger File Added: mantis5652_fail1.pcapng
2022-10-13 15:21 Paul Hunkar Project Compliance Test Tool (CTT) Unified Architecture => CTT UA Scripts
2022-10-13 15:22 Alexander Allmendinger Files Affected => /maintree/Session Services/Session Change User/Test Cases/001.js
2022-10-13 15:22 Alexander Allmendinger Status feedback => resolved
2022-10-13 15:22 Alexander Allmendinger Resolution reopened => fixed
2022-10-13 15:22 Alexander Allmendinger Fixed in Version 1.03.341.399 => 1.03.501
2022-10-13 15:22 Alexander Allmendinger Note Added: 0018024
2022-10-13 15:27 Paul Hunkar Status resolved => closed
2022-10-13 15:27 Paul Hunkar Note Added: 0018025