Univention Bugzilla – Bug 56623
[ID Connector] Explain usage and interpretation of queue resource
Last modified: 2024-01-15 13:09:16 CET
The ID Connector processes changes of users and groups in UCS and synchronizes them to connected UCS@school domains. These changes are queued for retries, robustness and load. Firstly there is an in-queue from the appcenter listener converter that contains JSON representations of the changed objects, the connector itself transform them to requests to the receiving systems where each of them has it's dedicated out-queue that buffers data. If the processing goes not as planned (service unavailable, app crashed, object faulty, ...) the queues might grow or stay at a certain level. To monitor this the ID Connector provides a /queues/ resource which lists the length of each of those queues. Unfortunately it's usage is not explained in the manual, the only brief talking point is > 1.4.2. Configure sending system > [...] > queues: monitoring of queues As a new sub-chapter within 1. Administration a small explanation of the mechanic would be good: 1. Why are queues used? (see above) 2. How do they work? (files in directories) 3. What types and how many queues? (see above) 4. How to get their length via the API (can be queried) 5. What problems might occur? (see above) 6. How would you be able to observe this? Some notes on that: - The queues can grow to a considerable size quickly (>1.000.000 files reported after some days) if the app does not run - If an object is faulty it might stay queued forever Based on that at least three problematic states come to mind: - Monotonous growth for a certain amount of time (hours?) - No changes in length for a certain amount of time (hours?) - Queue does not reach 0 after a certain amount of time (days?)
Changes merged and published for 2.3.3 document version: 044eb9e | doc: Adhere doc configuration to style guide beb1520 | doc: Add reference to UCS architecture manual 1e2f17e | doc(index): Adhere to style guide 39302c9 | doc(admin): Adhere to style guide 57cfc3c | doc(development): Adhere to style guide 31366ba | doc(source-doc): Add reference to docstrings 3c33bed | doc(file_locations): Adhere to style guide 7056df5 | doc(example_json): Adhere to style guide d33084f | doc(history): Add some reST formatting 7325d2d | doc(bibliography): Prevent double title in PDF builds d17932b | doc(admin): Add section about queues 4484dc2 | doc(index): Add definition for reader and required knowledge e91f07a | ci: Move docs jobs to child pipeline f88c734 | ci: Build dedicated Docker image for docs 0bca4fc | docs(conf): Set release to released document version 2.3.3 b02b64e | docs(conf): Set version to 2.3.4
QA done by Tobias. See merge request https://git.knut.univention.de/univention/components/ucsschool-id-connector/-/merge_requests/26
The usage and explanation of queue resources is explained at https://docs.software-univention.de/ucsschool-id-connector/admin.html#monitor-processing-status