- Shipped
- June 30, 2026 at 11:15 PM UTC
- Author
- Sage
- Commit
- 9cd1ad0
New-document creation hung ~5 min and the new tab stayed at about:blank. Root cause: DocsService pods scheduled on k3m1 read the blank template from MinIO at the hardcoded WireGuard IP 10.8.1.1 (k1m1), which is unreachable from k3m1 (the k1m1<->k3m1 WG overlay is down). The template read used a singleton MinioClient bean with no timeout (MinIO SDK default 5 min), so createNewDocument blocked indefinitely; the frontend's catch wrote the error into the pre-opened blank tab. Fixes: - deployment: source MINIO_CURRENT_HOST from the Downward API (status.hostIP) so each pod uses the MinIO instance local to its node, instead of a static IP that pins every pod to one node's (now-unreachable) WireGuard address. - configmap: point MinIO current/edge/cold at minio.cluster-services (reachable from every node, backed by k1m1 which holds all data) instead of the dead WireGuard IPs — used as failover behind the node-local current-host. - DocumentService: read the template via the failover MinIOStorageService.download() (fresh, timeout-bounded clients + node failover) instead of the raw no-timeout MinioClient bean, so an unreachable node fails over fast instead of hanging. - DocumentService: content-addressed dedup of ImgDat. Blank templates are byte-identical, so a fresh insert violated idx_img_dats_hash_unique on the 2nd+ document; reuse the existing row via findByHashCombination (matching the upload paths) and only upload when newly created. - Remove the now-unused singleton MinioClient bean.