{"record":{"id":"e5275b4cfd049a14","repo":"temporalio/temporal","slug":"error-determining-child-task-queue-presence-in-inh","errorCode":null,"errorMessage":"error determining child task queue presence in inherited version: %w","messagePattern":"error determining child task queue presence in inherited version: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"service/history/transfer_queue_active_task_executor.go","lineNumber":995,"sourceCode":"\t\t\t\tsourceVersionStamp = worker_versioning.StampIfUsingVersioning(mutableState.GetMostRecentWorkerVersionStamp())\n\t\t\t}\n\t\t}\n\n\t\t// If there is a pinned override, then the effective version will be the same as the pinned override version.\n\t\t// If this is a cross-TQ child, we don't want to ask matching the same question twice, so we re-use the result from\n\t\t// the first matching task-queue-in-version check.\n\t\tnewTQInPinnedVersion := false\n\n\t\t// Child of pinned parent will inherit the parent's version if the Child's Task Queue belongs to that version.\n\t\tif mutableState.GetEffectiveVersioningBehavior() == enumspb.VERSIONING_BEHAVIOR_PINNED {\n\t\t\tinheritedPinnedVersion = worker_versioning.ExternalWorkerDeploymentVersionFromDeployment(mutableState.GetEffectiveDeployment())\n\t\t\tnewTQ := attributes.GetTaskQueue().GetName()\n\t\t\tif attributes.GetNamespaceId() != mutableState.GetExecutionInfo().GetNamespaceId() { // don't inherit pinned version if child is in a different namespace\n\t\t\t\tinheritedPinnedVersion = nil\n\t\t\t} else if newTQ != mutableState.GetExecutionInfo().GetTaskQueue() {\n\t\t\t\tnewTQInPinnedVersion, err = worker_versioning.GetIsWFTaskQueueInVersionDetector(t.matchingRawClient, t.versionCache)(ctx, attributes.GetNamespaceId(), newTQ, inheritedPinnedVersion)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn fmt.Errorf(\"error determining child task queue presence in inherited version: %w\", err)\n\t\t\t\t}\n\t\t\t\tif !newTQInPinnedVersion {\n\t\t\t\t\tinheritedPinnedVersion = nil\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Pinned and one-time overrides are inherited if Task Queue of new run is compatible with the override version.\n\t\tif o := mutableState.GetExecutionInfo().GetVersioningInfo().GetVersioningOverride(); worker_versioning.GetOverrideTargetDeploymentVersion(o) != nil {\n\t\t\tinheritedVersioningOverride = o\n\t\t\tnewTQ := attributes.GetTaskQueue().GetName()\n\t\t\tif newTQ != mutableState.GetExecutionInfo().GetTaskQueue() && !newTQInPinnedVersion ||\n\t\t\t\tattributes.GetNamespaceId() != mutableState.GetExecutionInfo().GetNamespaceId() { // don't inherit override if child is in a different namespace\n\t\t\t\tinheritedVersioningOverride = nil\n\t\t\t}\n\t\t}\n\n\t\t// If the parent has AutoUpgrade behavior, we populate the inherited auto upgrade info based on whether the child TQ is in the same deployment version as the parent TQ.","sourceCodeStart":977,"sourceCodeEnd":1013,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/service/history/transfer_queue_active_task_executor.go#L977-L1013","documentation":"Error \"error determining child task queue presence in inherited version: %w\" thrown in temporalio/temporal.","triggerScenarios":"Thrown at service/history/transfer_queue_active_task_executor.go:995 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-08T10:18:20.063Z"}