{"record":{"id":"8a327f2cac8a1ea6","repo":"hashicorp/nomad","slug":"id-q-was-not-found-in-the-raft-configuration","errorCode":null,"errorMessage":"id %q was not found in the Raft configuration","messagePattern":"id %q was not found in the Raft configuration","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"nomad/operator_endpoint.go","lineNumber":153,"sourceCode":"\t\treturn structs.ErrPermissionDenied\n\t}\n\n\t// Since this is an operation designed for humans to use, we will return\n\t// an error if the supplied id isn't among the peers since it's\n\t// likely a mistake.\n\tvar address raft.ServerAddress\n\t{\n\t\tfuture := op.srv.raft.GetConfiguration()\n\t\tif err := future.Error(); err != nil {\n\t\t\treturn err\n\t\t}\n\t\tfor _, s := range future.Configuration().Servers {\n\t\t\tif s.ID == args.ID {\n\t\t\t\taddress = s.Address\n\t\t\t\tgoto REMOVE\n\t\t\t}\n\t\t}\n\t\treturn fmt.Errorf(\"id %q was not found in the Raft configuration\",\n\t\t\targs.ID)\n\t}\n\nREMOVE:\n\t// The Raft library itself will prevent various forms of foot-shooting,\n\t// like making a configuration with no voters. Some consideration was\n\t// given here to adding more checks, but it was decided to make this as\n\t// low-level and direct as possible. We've got ACL coverage to lock this\n\t// down, and if you are an operator, it's assumed you know what you are\n\t// doing if you are calling this. If you remove a peer that's known to\n\t// Serf, for example, it will come back when the leader does a reconcile\n\t// pass.\n\tminRaftProtocol, err := op.srv.MinRaftProtocol()\n\tif err != nil {\n\t\treturn err\n\t}\n\n\tvar future raft.Future","sourceCodeStart":135,"sourceCodeEnd":171,"githubUrl":"https://github.com/hashicorp/nomad/blob/482b49bf1aec006f089bcfc7e632d8f6ac303e5e/nomad/operator_endpoint.go#L135-L171","documentation":"RaftRemovePeerByID could not find the supplied server ID in the current Raft configuration; since this operator endpoint is meant for humans, it refuses to remove an unknown peer as the ID is likely a mistake.","triggerScenarios":"Thrown at nomad/operator_endpoint.go:153 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["List the actual peers (e.g. `nomad operator raft list-peers`) and use a valid server ID","Check for typos in the ID argument","Confirm you are querying the correct region/cluster"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"482b49bf1aec006f089bcfc7e632d8f6ac303e5e","analyzedAt":"2026-09-04T07:54:14.808Z","contentChangedAt":"2026-09-04T07:54:14.808Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}