Univention Bugzilla – Bug 57610
The Veyon Python client does not use connection pooling
Last modified: 2024-09-26 13:12:24 CEST
The Veyon python client uses the requests library by calling requests.get, requests.put, etc., instead of using a requests.Session object. When many computer room sessions and computer Veyon threads are open, the resulting amount of requests per second do lead to a growing number of lingering TCP/IP connections which occupy ports and subsequently to crashes/Tracebacks as no connections can be opened anymore.
Fixed with commit c90b196c18cb1d00a8d3e9214327a91d8fca6274 Package: ucs-school-veyon-client Version: 2.0.9 Each VeyonComputer thread will now have a thread local Session object, which is used for the lifetime of the thread.
What I tested: lsof shows less connections -> OK No more auth popup after restarting veyon on windows -> OK No tracebacks/crashes if veyon is down -> OK update thread is paused and restarts -> OK After starting veyon again computer information is updated again as well -> OK
Errata updates for UCS@school 5.0 v6 have been released. https://docs.software-univention.de/ucsschool-changelog/5.0v6/en/changelog.html https://docs.software-univention.de/ucsschool-changelog/5.0v6/de/changelog.html If this error occurs again, please clone this bug.