hyperledger/fabric · error
unexpected close of commit notification channel
Error message
unexpected close of commit notification channel
What it means
TransactionStatus guard: after registering for commit notifications and finding no existing validation code, the statusReceive channel was closed by the sender (commit notifier) before delivering a status, so the select received ok=false. It means the peer stopped delivering commit events for that transaction — an unexpected server-side condition, not a client cancellation.
Source
Thrown at internal/pkg/gateway/commit/finder.go:69
if err != nil {
return nil, err
}
if code, blockNumber, err := ledger.GetTxValidationCodeByTxID(transactionID); err == nil {
status := &Status{
BlockNumber: blockNumber,
TransactionID: transactionID,
Code: code,
}
return status, nil
}
select {
case <-ctx.Done():
return nil, ctx.Err()
case status, ok := <-statusReceive:
if !ok {
return nil, errors.New("unexpected close of commit notification channel")
}
return status, nil
}
}
View on GitHub (pinned to 2736b63f8f)
Solutions
- Re-query the transaction's validation code via the ledger as a fallback
- Check peer health and deliver/commit service logs
- Retry the submit/commit-status flow if the connection was re-established
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at internal/pkg/gateway/commit/finder.go:69 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04).
Data as JSON: /api/errors/9ecad694199e693d.
Report an issue: GitHub.