{"id":"691677f3adcd0bfee0251f0b","title":"2025 11 07 Issue 77","path":"how-to/committee/release-notes/2025-11-07-issue-77","contentMarkdown":"# 7th November 2025 — Lightweight Health Checks for Faster Deployments [#77](https://github.com/nbarrett/ngx-ramblers/issues/77)\n## [build 355](https://github.com/nbarrett/ngx-ramblers/actions/runs/19154665164) — [Refs: #77](https://github.com/nbarrett/ngx-ramblers/issues/77) — [commits e8d39f5, db59d5e, eeab577](https://github.com/nbarrett/ngx-ramblers/commit/eeab577)\n\nResolved Fly.io deployment timeouts by separating lightweight health checks from detailed system status, and increased grace period for MongoDB initialization.\n\n**Where to Find It**\n\n- **API**: `/api/health` — fast endpoint for deployment health checks\n- **API**: `/api/system-status` — detailed status with database queries\n- **Deployment**: Fly.io health check configuration\n\n**Benefits**\n\n- **Faster Deployments**: Health checks now return immediately instead of taking 15-17 seconds\n- **Reliable Health Checks**: No timeout errors during MongoDB initialization or migration execution\n- **Proper Startup Time**: 60-second grace period allows MongoDB connection and migration checks to complete\n- **Detailed Status Available**: Separate endpoint maintains comprehensive system status with DB queries\n\n**Technical Details**\n\nHealth Endpoint Changes:\n- Remove database query from /api/health endpoint\n- Health checks were exceeding Fly.io's 5-second timeout during startup\n- MongoDB queries during migration execution caused 15-17 second delays\n- Detailed system status with DB queries remains at /api/system-status\n\nFly.io Configuration:\n- Increase grace_period from 5s to 60s (allows MongoDB connection + migration checks)\n- Increase timeout from 2s to 5s (provides buffer for database queries)\n- Server initialization takes ~50 seconds total\n\nAdditional Fixes:\n- Swallow memberAudit duplicate insert errors to prevent crash (commit 7fb72f9)\n- Catch save() rejection in auditMemberLogin when legacy unique index exists\n- Prevent unique index recreation on member-auth-audit model\n- Stop embedding Member schema to avoid propagating unique index","contentHtml":"<h1>7th November 2025 — Lightweight Health Checks for Faster Deployments <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/77\">#77</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/19154665164\">build 355</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/77\">Refs: #77</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/eeab577\">commits e8d39f5, db59d5e, eeab577</a></h2>\n<p>Resolved Fly.io deployment timeouts by separating lightweight health checks from detailed system status, and increased grace period for MongoDB initialization.</p>\n<p><strong>Where to Find It</strong></p>\n<ul>\n<li><strong>API</strong>: <code>/api/health</code> — fast endpoint for deployment health checks</li>\n<li><strong>API</strong>: <code>/api/system-status</code> — detailed status with database queries</li>\n<li><strong>Deployment</strong>: Fly.io health check configuration</li>\n</ul>\n<p><strong>Benefits</strong></p>\n<ul>\n<li><strong>Faster Deployments</strong>: Health checks now return immediately instead of taking 15-17 seconds</li>\n<li><strong>Reliable Health Checks</strong>: No timeout errors during MongoDB initialization or migration execution</li>\n<li><strong>Proper Startup Time</strong>: 60-second grace period allows MongoDB connection and migration checks to complete</li>\n<li><strong>Detailed Status Available</strong>: Separate endpoint maintains comprehensive system status with DB queries</li>\n</ul>\n<p><strong>Technical Details</strong></p>\n<p>Health Endpoint Changes:</p>\n<ul>\n<li>Remove database query from /api/health endpoint</li>\n<li>Health checks were exceeding Fly.io&#39;s 5-second timeout during startup</li>\n<li>MongoDB queries during migration execution caused 15-17 second delays</li>\n<li>Detailed system status with DB queries remains at /api/system-status</li>\n</ul>\n<p>Fly.io Configuration:</p>\n<ul>\n<li>Increase grace_period from 5s to 60s (allows MongoDB connection + migration checks)</li>\n<li>Increase timeout from 2s to 5s (provides buffer for database queries)</li>\n<li>Server initialization takes ~50 seconds total</li>\n</ul>\n<p>Additional Fixes:</p>\n<ul>\n<li>Swallow memberAudit duplicate insert errors to prevent crash (commit 7fb72f9)</li>\n<li>Catch save() rejection in auditMemberLogin when legacy unique index exists</li>\n<li>Prevent unique index recreation on member-auth-audit model</li>\n<li>Stop embedding Member schema to avoid propagating unique index</li>\n</ul>\n"}