[qt/license-tools/license-service]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/license-tools/license-service
Pushed by mirror-service into branch '3.6'.
Changed from 690adcefebf6bfe77d27af663c48fc3ee3ed8cfc to 47e8d439e3a621cf486d0d6c7d117435e61dbb93
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 6fd07dbf1fba615f1825bcf22ff34aead3cdda2f by Arttu Tarkiainen (on behalf of Riku Zeng) on 17/08/2026 at 07:08..
Distinguish the seat-wait re-poll from other 503 responses

The on-prem license server holds a pool-full floating reservation in its
seat queue and, when the bounded wait window elapses, sheds it with HTTP
503 plus a zero Retry-After and the seat_wait_repoll body code. That is
a "reconnect and keep waiting" signal, not the overload back-off that a
plain 503 or a server_busy body code means.

Without telling the two apart the daemon treated the shed as a busy
signal and spaced its re-polls on the retry ramp, so a seat freed by
another client was not claimed until the next ramped retry happened to
fire. Map the seat_wait_repoll body code (5105005) to a dedicated
SEAT_WAIT_REPOLL status and add a retry rule, evaluated before the
service-unavailable rule, that re-polls the primary at once (honouring
the Retry-After floor) and never escalates or exhausts. A session that
had already failed over to the maintenance server keeps re-polling there
rather than being dragged back to the primary. The dispatch budget
deadline still bounds the total wait.

Name the new status in LicenseReservationInfo::statusToString() as well,
so a consumer that logs the reservation status gets SeatWaitRepoll
instead of "Unknown", and assert the client side accepts code 221.

Cover the retry behaviour that tells the two 503 flavours apart: a 503
carrying the busy body code still takes the back-off ramp, the re-polls
leave the ramp untouched for a later genuine failure, and an arriving
seat-wait abandons an escalated ladder for an immediate re-poll.

Task-number: QLS-2530
Change-Id: Ic77c016384ebe357c0977eb908d962a47483cf4a
Reviewed-by: Heikki Halmet <[email protected]>
Reviewed-by: Arttu Tarkiainen <[email protected]>
(cherry picked from commit b080d0d55c29c9655f9e61d1b499e35d185d7426)
https://invent.kde.org/qt/license-tools/license-service/-/commit/6fd07dbf1fba615f1825bcf22ff34aead3cdda2f

Git commit 47e8d439e3a621cf486d0d6c7d117435e61dbb93 by Arttu Tarkiainen on 17/08/2026 at 07:54..
tests: cover the server response code mapping and status names

The body code to Status mapping in qlicensecore had no test target at
all: nothing exercised sc_responseInfoMap, so a wrong or removed entry
would break license acquisition without failing a single test. Add
tests/auto/status covering every mapped code, the unmapped and malformed
ones, the success-prefix fallback, and isNetworkError().

statusString() is asserted to return a message for every status the
service stringifies. TIME_MISMATCH and TCP_SOCKET_ERROR are deliberately
left out of that list: LicenseProcessor reports the former with a
computed message of its own and the latter originates in the client
library, so neither is ever looked up in the status string map.

On the client side, SERVICE_SHUTTING_DOWN (220) has been forwarded to
consumers since it was introduced but never had a name in
LicenseReservationInfo::statusToString(), which answered "Unknown" for
it. Give it one, and extend the "Assert all status codes" case, which
asks to be updated whenever a value is added, to the codes it had
drifted behind: 212, 220 and 1001. Pin the neighbouring unmapped codes
213 and 222 as well, so a daemon newer than the client library keeps
degrading them to UnknownError.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Change-Id: I6042de8d6690fd7d335e53597f1a8ab82b03b152
Reviewed-by: Heikki Halmet <[email protected]>
Reviewed-by: <[email protected]>
(cherry picked from commit 0748fa6421ea9ef22c572d34011bbcaa90982265)
Reviewed-by: Arttu Tarkiainen <[email protected]>
https://invent.kde.org/qt/license-tools/license-service/-/commit/47e8d439e3a621cf486d0d6c7d117435e61dbb93
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.