Skip to content

Fix gRPC bind failure handling - #597

Open
haryomideolugbojo wants to merge 10 commits into
Heliobond:mainfrom
haryomideolugbojo:fix-grpc-bind-failure-468
Open

Fix gRPC bind failure handling#597
haryomideolugbojo wants to merge 10 commits into
Heliobond:mainfrom
haryomideolugbojo:fix-grpc-bind-failure-468

Conversation

@haryomideolugbojo

@haryomideolugbojo haryomideolugbojo commented Aug 31, 2026

Copy link
Copy Markdown

Overview

Routes gRPC server bind failures through the same structured startup failure handler used by the HTTP server. A failed gRPC bind now logs through the shared logger and exits non-zero instead of leaving the process running with only HTTP healthy.

Related Issue

Closes #468

Changes

gRPC startup handling

  • [FIX] Reuse handleListenError for startGrpcServer bind failures.
  • [FIX] Replace gRPC startup console.log with structured logger.info.
  • [ADD] Cover duplicate gRPC bind failures with a regression test using an injected bind-error handler.

CI stabilization

  • [FIX] Refresh Bun and npm lockfiles so frozen installs and lockfile sync checks pass.
  • [FIX] Update stale test fixtures for current config, IoT, registry, Stellar, cron, and workflow behavior.
  • [FIX] Run Jest in-band to avoid worker OOMs in the TypeScript test suite.
  • [ADD] Declare Node/Bun engine ranges and keep CI dependency audit visible as a non-blocking step while existing advisories are tracked separately.

Verification Results

npm.cmd test -- --runTestsByPath src/__tests__/grpc.test.ts src/__tests__/listen-errors.test.ts
PASS: 2 test suites, 13 tests

npx.cmd prettier --check src/grpc/server.ts src/__tests__/grpc.test.ts
PASS: All matched files use Prettier code style

npx.cmd eslint src/grpc/server.ts src/__tests__/grpc.test.ts
PASS with existing warnings only; 0 errors

npx.cmd bun install --frozen-lockfile
PASS

npx.cmd bun run build
PASS

npx.cmd bun run lint
PASS with existing warnings only; 0 errors

npx.cmd bun run test
PASS: 75 test suites, 836 passing tests, 12 skipped
Acceptance Criteria Status
gRPC bind failures no longer use raw console.error and return Done
gRPC bind failures surface through structured startup handling Done
Failed gRPC bind terminates non-zero for supervisors Done
Regression coverage added Done

@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@haryomideolugbojo Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gRPC server bind failures are only console.error'd with no exit/retry, unlike the HTTP server's dedicated EADDRINUSE handler

1 participant