Michael Meeks
One issue that has caused some confusion is the “Documents Conflict” popup. This is designed to provide more insight into what has caused the conflict, and to allow a backend integration to give the user information about mismatching timestamps to allow them to better understand the issue
Please see the SDK: https://sdk.collaboraonline.com/docs/advanced_integration.html?highlight=coolstatuscode#detecting-external-document-change for more details.
Better healthchecking with new end-points
Recently, we ran into an interesting issue where the Collabora Online service was struggling after running out of disk space. Unfortunately, the server itself was still alive and continued answering web requests efficiently, making it difficult for monitoring systems to detect the problem and alert administrators.
To address this, I had the chance to add two new health check endpoints, /livez and /readyz, in this commit:
https://github.com/CollaboraOnline/online/commit/8b0fc9b0c6b91bc248b644166553a492e0b57c76
These endpoints reuse the standard Kubernetes naming conventions and output formats, and both support an optional ?verbose parameter.
Liveness check
curl -k https://mycoolserver/livez?verbose
Output:
[+] ping ok
[+] forkit ok
livez check passed
The liveness check verifies whether the server is alive and responsive.
Readiness check
curl -k https://mycoolserver/readyz?verbose
Output:
[+] ping ok
[+] forkit ok
[+] shutdown ok
[+] kit-spares ok
[+] disk-space ok
[+] memory ok
[+] connections ok
[+] documents ok
readyz check passed
The readiness check provides a more comprehensive view of whether the server is healthy enough to accept and handle new traffic.
More documentation and implementation details are available here: https://gerrit.collaboraoffice.com/plugins/gitiles/online/+/main/wsd/healthchecks.txt