[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