Bug 5489 - Verify all sessions on an agent in one call
Summary: Verify all sessions on an agent in one call
Status: CLOSED FIXED
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VSM Server (show other bugs)
Version: 2.0.0
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.8.0
Assignee: Henrik Andersson
URL:
Keywords: relnotes
Depends on:
Blocks:
 
Reported: 2015-04-08 13:35 CEST by Karl Mikaelsson
Modified: 2017-03-20 17:09 CET (History)
3 users (show)

See Also:
Acceptance Criteria:


Attachments

Description Karl Mikaelsson cendio 2015-04-08 13:35:24 CEST
We've got quite a few problems with the number of session verification calls that's needed to work with the default 10 minute session_update_delay setting in clusters with lots of users.

Instead of verifying all sessions with individual calls to agents per session, we could do better by adding a XMLRPC call/handler that checks all sessions on an agent at the same time.

This approach could cut down the number of calls required during each session_update_delay from the number of sessions to the number of agents.
Comment 1 Thomas Nilefalk cendio 2016-08-10 14:06:37 CEST
There is a consensus about a principal design which involves one job on the server that iterates over the sessions in the session database and groups sessions per agent and then asks each agent to verify its sessions.
Comment 7 Pierre Ossman cendio 2016-12-19 14:01:22 CET
The test TestSessionOnRemovedAgent caught a change in behaviour in the new code; we now verify existing sessions right away after the server starts. Previously we would do so after a delay.

We need to decide if we want to keep this behaviour or not. One possible problem could be that we are racing with the agent when starting up and might mark those sessions as unverified.
Comment 9 Pierre Ossman cendio 2016-12-19 14:18:08 CET
We've also failed to implement VerifySessionsCall.handle_known_errors(), which the test TestSessionOnDeadAgent has detected.
Comment 45 Samuel Mannehed cendio 2017-01-19 16:56:18 CET
Works well. We've tested:

 - Periodic check: alive, dead, timeout
 - Reconnect: alive, dead
 - Shadow: alive, dead
 - HA: no scenario found (see bug 6146), we have unit tests though
 - tlwebadm: alive, dead, connect/disconnect
Comment 46 Pierre Ossman cendio 2017-01-20 10:47:48 CET
Also checked socket usage and it seems to be doing fine on a single port per agent (or less). I had a master/agent pair and 100 sessions on the agent. Only port 1023 was used on the master.

Note You need to log in before you can comment on or make changes to this bug.