hyperledger/fabric · error
Must supply channel ID
Error message
Must supply channel ID
What it means
The `peer node resume` command resumes a previously paused channel on an offline peer and, like pause, mandates a channel ID. When channelID equals common.UndefinedParamValue (flag not supplied), RunE aborts with this error before calling kvledger.ResumeChannel.
Source
Thrown at internal/peer/node/resume.go:30
"github.com/pkg/errors"
"github.com/spf13/cobra"
)
func resumeCmd() *cobra.Command {
resumeChannelCmd.ResetFlags()
flags := resumeChannelCmd.Flags()
flags.StringVarP(&channelID, "channelID", "c", common.UndefinedParamValue, "Channel to resume.")
return resumeChannelCmd
}
var resumeChannelCmd = &cobra.Command{
Use: "resume",
Short: "Resumes a channel on the peer.",
Long: `Resumes a channel on the peer. When the command is executed, the peer must be offline. When the peer starts after resume, it will receive blocks for the resumed channel.`,
RunE: func(cmd *cobra.Command, args []string) error {
if channelID == common.UndefinedParamValue {
return errors.New("Must supply channel ID")
}
config := ledgerConfig()
return kvledger.ResumeChannel(config.RootFSPath, channelID)
},
}
View on GitHub (pinned to 2736b63f8f)
Solutions
- Re-run with the channel: `peer node resume -c <channelID>` (peer must be offline).
- Confirm the flag name `--channelID` is correctly spelled and parsed.
- Ensure the scripted variable holding the channel name is non-empty before invoking the command.
Example fix
// before peer node resume // after peer node resume -c mychannel
Defensive patterns
Strategy: validation
Validate before calling
if [ -z "$CHANNEL" ]; then echo "usage: peer node resume -c <channelID>" >&2; exit 1; fi peer node resume -c "$CHANNEL"
Try / catch
if err := runResume(); err != nil && err.Error() == "Must supply channel ID" {
return fmt.Errorf("usage: peer node resume -c <channelID>")
} Prevention
- Supply -c/--channelID on every invocation.
- Validate channel name non-empty in maintenance scripts.
- Run pause/resume pairs with identical channel variables to avoid mismatches.
When it happens
Trigger: Running `peer node resume` without --channelID / -c.
Common situations: Omitting -c after maintenance; flag typo; passing an empty variable in an automation script during channel maintenance windows.
Related errors
- Must supply channel ID
- no endorser clients retrieved - this might indicate a bug
- orderer is required, but no ordering endpoint or endorser cl
- cannot create proposal, due to %s
- cannot create signed proposal, due to %s
AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04).
Data as JSON: /api/errors/8d089d7eb77ab9c3.
Report an issue: GitHub.