hyperledger / hyperledger/fabric-x
Improve resilience of transaction submission by handling transient broadcast failures
- Dominant language
- Go
- Stars
- 64
- Forks
- 80
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 15
Description
## Problem
Transaction submission currently fails immediately if broadcasting to the orderer returns an error.
In distributed environments, transient failures such as:
- temporary network interruptions
- brief unavailability of the orderer
- short-lived timeouts
can cause a transaction submission to fail even though a retry would likely succeed.
## Proposed Solution
Introduce a minimal retry mechanism for transaction broadcast in:
- SubmitTransaction
- SubmitTransactionWithWait
Key considerations:
- Retry a small fixed number of times (e.g., 2–3 attempts)
- Add a short delay between attempts
- Respect context cancellation (stop retrying if context is done)
- Preserve existing behavior if all retries fail
## Why this matters
- Improves reliability of transaction submission
- Reduces failures caused by transient conditions
- Aligns with common practices in distributed systems
## Scope
- Limited to tools/fxconfig/internal/app/submit.go
- No changes to public APIs
- Initial implementation can use fixed retry parameters
## Additional Context
This builds on the current submission flow and focuses on improving robustness without introducing breaking changes.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.