Skip to content

feat(backend): Implement graceful Stellar RPC error handling with ret…#467

Open
teeschima wants to merge 1 commit into
StayLitCodes:mainfrom
teeschima:feature/graceful-stellar-rpc-error-handling
Open

feat(backend): Implement graceful Stellar RPC error handling with ret…#467
teeschima wants to merge 1 commit into
StayLitCodes:mainfrom
teeschima:feature/graceful-stellar-rpc-error-handling

Conversation

@teeschima

Copy link
Copy Markdown

Closes #402

  • Create StellarRpcException hierarchy (Timeout, Transaction, Account, Network)
  • Exponential backoff with jitter using STELLAR_RETRY_DELAY, STELLAR_RETRY_JITTER, and STELLAR_RETRY_FACTOR
  • Respect STELLAR_MAX_RETRIES configuration
  • Only retry on transient errors (never 4xx client errors)
  • Implement circuit breaker: 5 consecutive failures = 60s pause
  • Log all RPC errors with context
  • Provide user-friendly error messages in API responses
  • Add health check probe for Stellar Horizon

Fixes #402

…ries

- Create StellarRpcException hierarchy (Timeout, Transaction, Account, Network)
- Exponential backoff with jitter using STELLAR_RETRY_DELAY, STELLAR_RETRY_JITTER, and STELLAR_RETRY_FACTOR
- Respect STELLAR_MAX_RETRIES configuration
- Only retry on transient errors (never 4xx client errors)
- Implement circuit breaker: 5 consecutive failures = 60s pause
- Log all RPC errors with context
- Provide user-friendly error messages in API responses
- Add health check probe for Stellar Horizon

Fixes StayLitCodes#402

Co-authored-by: openhands <openhands@all-hands.dev>
@teeschima

Copy link
Copy Markdown
Author

resolved

@KuchiMercy

Copy link
Copy Markdown
Contributor

@teeschima Kindly resolve errors

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.

feat(backend): Implement graceful Stellar RPC error handling with retries

2 participants