{"record":{"id":"4cb32cc473459724","repo":"temporalio/temporal","slug":"w-base-name-s-normal-name-s","errorCode":null,"errorMessage":"%w. base name: %s, normal name: %s","messagePattern":"%w\\. base name: (.+?), normal name: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"common/tqid/task_queue_id.go","lineNumber":182,"sourceCode":"\t}\n}\n\nfunc PartitionFromProto(proto *taskqueuepb.TaskQueue, namespaceId string, taskType enumspb.TaskQueueType) (Partition, error) {\n\tbaseName, partition, err := parseRpcName(proto.GetName())\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tkind := proto.GetKind()\n\tnormalName := proto.GetNormalName()\n\tif normalName != \"\" && kind != enumspb.TASK_QUEUE_KIND_STICKY {\n\t\treturn nil, serviceerror.NewInvalidArgumentf(\"only sticky queues can have normal name. tq: %s, normal name: %s\", baseName, normalName)\n\t}\n\n\tswitch kind {\n\tcase enumspb.TASK_QUEUE_KIND_STICKY:\n\t\tif partition != 0 {\n\t\t\treturn nil, fmt.Errorf(\"%w. base name: %s, normal name: %s\", ErrNonZeroSticky, baseName, normalName)\n\t\t}\n\t\ttq := &TaskQueue{TaskQueueFamily{namespaceId, normalName}, taskType}\n\t\treturn tq.StickyPartition(baseName), nil\n\tcase enumspb.TASK_QUEUE_KIND_WORKER_COMMANDS:\n\t\tif partition != 0 {\n\t\t\treturn nil, serviceerror.NewInvalidArgumentf(\"worker-commands partitions cannot have non-zero partition ID. base name: %s\", baseName)\n\t\t}\n\t\tif taskType != enumspb.TASK_QUEUE_TYPE_NEXUS {\n\t\t\treturn nil, serviceerror.NewInvalidArgumentf(\"worker-commands partitions must have nexus task type, got: %v. base name: %s\", taskType, baseName)\n\t\t}\n\t\ttq := &TaskQueue{TaskQueueFamily{namespaceId, baseName}, taskType}\n\t\treturn tq.WorkerCommandsPartition(), nil\n\tdefault:\n\t\ttq := &TaskQueue{TaskQueueFamily{namespaceId, baseName}, taskType}\n\t\treturn tq.NormalPartition(partition), nil\n\t}\n}\n","sourceCodeStart":164,"sourceCodeEnd":200,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/common/tqid/task_queue_id.go#L164-L200","documentation":"Error \"%w. base name: %s, normal name: %s\" thrown in temporalio/temporal.","triggerScenarios":"Thrown at common/tqid/task_queue_id.go:182 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bde624efd13fbd3843654058db6d9c716166318b","analyzedAt":"2026-09-01T07:18:39.080Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}