hyperledger/fabric · error

error retrieving consenter of type: %s

Error message

error retrieving consenter of type: %s

What it means

newChainSupport guard: the consensus type from the channel's shared config has no consenter registered in the consenters map passed to the registrar. The channel config names a consensus plugin (e.g. etcdraft, smartbft) that this orderer binary does not have registered.

Source

Thrown at orderer/common/multichannel/chainsupport.go:82

		cutter: blockcutter.NewReceiverImpl(
			ledgerResources.ConfigtxValidator().ChannelID(),
			ledgerResources,
			blockcutterMetrics,
		),
		BCCSP: bccsp,
	}

	// Set up the msgprocessor
	cs.Processor = msgprocessor.NewStandardChannel(cs, msgprocessor.CreateStandardChannelFilters(cs, registrar.config), bccsp)

	// Set up the block writer
	cs.BlockWriter = newBlockWriter(lastBlock, cs)

	// Set up the consenter
	consenterType := ledgerResources.SharedConfig().ConsensusType()
	consenter, ok := consenters[consenterType]
	if !ok {
		return nil, errors.Errorf("error retrieving consenter of type: %s", consenterType)
	}

	cs.Chain, err = consenter.HandleChain(cs, metadata)
	if err != nil {
		return nil, errors.WithMessagef(err, "error creating consenter for channel: %s", cs.ChannelID())
	}

	cs.MetadataValidator, ok = cs.Chain.(consensus.MetadataValidator)
	if !ok {
		cs.MetadataValidator = consensus.NoOpMetadataValidator{}
	}

	cs.StatusReporter, ok = cs.Chain.(consensus.StatusReporter)
	if !ok { // Non-cluster types: solo
		cs.StatusReporter = consensus.StaticStatusReporter{ConsensusRelation: types.ConsensusRelationOther, Status: types.StatusActive}
	}

	clusterRelation, status := cs.StatusReporter.StatusReport()

View on GitHub (pinned to 2736b63f8f)

Solutions

  1. Run an orderer binary that includes the requested consensus type
  2. Change the channel's consensus type to one supported by this orderer
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at orderer/common/multichannel/chainsupport.go:82 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/10ae841cbe29612b. Report an issue: GitHub.