hyperledger/fabric · error
transaction %d in block %d has skipped validation
Error message
transaction %d in block %d has skipped validation
What it means
allValidated post-check: after block validation some transaction validation-code flags were never set, meaning those transactions were skipped without a verdict — an internal validator inconsistency rather than a per-transaction failure.
Source
Thrown at core/committer/txvalidator/v20/validator.go:272
}
// Initialize metadata structure
protoutil.InitBlockMetadata(block)
block.Metadata.Metadata[common.BlockMetadataIndex_TRANSACTIONS_FILTER] = txsfltr
elapsedValidation := time.Since(startValidation) / time.Millisecond // duration in ms
logger.Infof("[%s] Validated block [%d] in %dms", v.ChannelID, block.Header.Number, elapsedValidation)
return nil
}
// allValidated returns error if some of the validation flags have not been set
// during validation
func (v *TxValidator) allValidated(txsfltr txflags.ValidationFlags, block *common.Block) error {
for id, f := range txsfltr {
if peer.TxValidationCode(f) == peer.TxValidationCode_NOT_VALIDATED {
return errors.Errorf("transaction %d in block %d has skipped validation", id, block.Header.Number)
}
}
return nil
}
func markTXIdDuplicates(txids []string, txsfltr txflags.ValidationFlags) {
txidMap := make(map[string]struct{})
for id, txid := range txids {
if txid == "" {
continue
}
_, in := txidMap[txid]
if in {
logger.Error("Duplicate txid", txid, "found, skipping")
txsfltr.SetFlag(id, peer.TxValidationCode_DUPLICATE_TXID)View on GitHub (pinned to 2736b63f8f)
Solutions
- Check peer logs for which tx indexes were skipped and why (e.g. MVCC validation or plugin errors)
- Restart/redeploy the peer if the validator itself is misconfigured (e.g. missing validation plugin)
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at core/committer/txvalidator/v20/validator.go:272 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/4fc63a9601269c0c.
Report an issue: GitHub.