Skip to main content

Resilience: hbf-notifications

Error handling and retry patterns for this service. Platform-wide patterns: docs/architecture/resilience.md

HTTP Retry

  • Library: got (v11.8.5) + hbf-core-api (inherited)
  • Attempts: 3 (hbf-core-api only); direct got calls have no retry
  • Backoff: Exponential with jitter (hbf-core-api only), network errors only
  • On failure: hbf-core-api returns HBFCoreApiResponse with 503; AllExceptionsFilter returns structured error

Queue Retry (if applicable)

N/A

Timeouts

CallTimeoutConfigured in
All HTTP callsNot setN/A

Circuit Breakers

None.

Fallback Strategy

Failure scenarioBehaviourUser impact
hbf-core unreachableReturns HBFCoreApiResponse with 503 statusNotification delivery fails gracefully
Unhandled exceptionAllExceptionsFilter returns structured error responseClient receives error details

Known Gaps

  • hbf-core-api retry triggers only on network errors, not on 5xx responses.
  • No timeout configured on any HTTP request (requests may hang indefinitely).
  • No health endpoint.
  • Direct got calls (outside hbf-core-api) have no retry at all.