{"record":{"id":"e45935bc71ec6910","repo":"grafana/k6","slug":"unknown-executor-type-s","errorCode":null,"errorMessage":"unknown executor type '%s'","messagePattern":"unknown executor type '(.+?)'","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"lib/executors.go","lineNumber":325,"sourceCode":"\n\t\tcurrentTimeOffset = step.TimeOffset\n\t\tcurrentPlannedVUs[step.configID] = step.PlannedVUs\n\t\tcurrentMaxUnplannedVUs[step.configID] = step.MaxUnplannedVUs\n\t\taddCurrentStepIfDifferent()\n\t}\n\treturn consolidatedSteps\n}\n\n// GetParsedExecutorConfig returns a struct instance corresponding to the supplied\n// config type. It will be fully initialized - with both the default values of\n// the type, as well as with whatever the user had specified in the JSON\nfunc GetParsedExecutorConfig(name, configType string, rawJSON []byte) (result ExecutorConfig, err error) {\n\texecutorConfigTypesMutex.Lock()\n\tdefer executorConfigTypesMutex.Unlock()\n\n\tconstructor, exists := executorConfigConstructors[configType]\n\tif !exists {\n\t\treturn nil, fmt.Errorf(\"unknown executor type '%s'\", configType)\n\t}\n\treturn constructor(name, rawJSON)\n}\n\ntype protoExecutorConfig struct {\n\texecutorType string\n\trawJSON      json.RawMessage\n}\n\n// UnmarshalJSON unmarshals the base config (to get the type), but it also\n// stores the unprocessed JSON so we can parse the full config in the next step\nfunc (pc *protoExecutorConfig) UnmarshalJSON(b []byte) error {\n\tvar tmp struct {\n\t\tExecutorType string `json:\"executor\"`\n\t}\n\terr := json.Unmarshal(b, &tmp)\n\t*pc = protoExecutorConfig{tmp.ExecutorType, b}\n\treturn err","sourceCodeStart":307,"sourceCodeEnd":343,"githubUrl":"https://github.com/grafana/k6/blob/01ffac6f245854c1b8adc6a69857c76a15f90022/lib/executors.go#L307-L343","documentation":"Raised by GetParsedExecutorConfig while parsing the scenarios configuration: the scenario's executor string does not match any executor type registered in k6's executor registry, so no config struct can be built.","triggerScenarios":"Thrown at lib/executors.go:325 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a valid executor type such as shared-iterations, per-vu-iterations, constant-vus, ramping-vus, constant-arrival-rate or ramping-arrival-rate","Check for typos in the executor name","If using a custom executor, ensure its extension is built into the binary"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ffac6f245854c1b8adc6a69857c76a15f90022","analyzedAt":"2026-08-18T03:05:52.393Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}