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

  1. Check peer logs for which tx indexes were skipped and why (e.g. MVCC validation or plugin errors)
  2. 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.