hyperledger / hyperledger/fabric-x

Improve resilience of transaction submission by handling transient broadcast failures

Open
#128 2 comments 0 reactions 1 assignee Claimed by @sachin9058 View on GitHub
enhancement fxconfig
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.