temporalio/temporal · error
error determining child task queue presence in inherited ver
Error message
error determining child task queue presence in inherited version: %w
What it means
Error "error determining child task queue presence in inherited version: %w" thrown in temporalio/temporal.
Source
Thrown at service/history/transfer_queue_active_task_executor.go:995
sourceVersionStamp = worker_versioning.StampIfUsingVersioning(mutableState.GetMostRecentWorkerVersionStamp())
}
}
// If there is a pinned override, then the effective version will be the same as the pinned override version.
// 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
// the first matching task-queue-in-version check.
newTQInPinnedVersion := false
// Child of pinned parent will inherit the parent's version if the Child's Task Queue belongs to that version.
if mutableState.GetEffectiveVersioningBehavior() == enumspb.VERSIONING_BEHAVIOR_PINNED {
inheritedPinnedVersion = worker_versioning.ExternalWorkerDeploymentVersionFromDeployment(mutableState.GetEffectiveDeployment())
newTQ := attributes.GetTaskQueue().GetName()
if attributes.GetNamespaceId() != mutableState.GetExecutionInfo().GetNamespaceId() { // don't inherit pinned version if child is in a different namespace
inheritedPinnedVersion = nil
} else if newTQ != mutableState.GetExecutionInfo().GetTaskQueue() {
newTQInPinnedVersion, err = worker_versioning.GetIsWFTaskQueueInVersionDetector(t.matchingRawClient, t.versionCache)(ctx, attributes.GetNamespaceId(), newTQ, inheritedPinnedVersion)
if err != nil {
return fmt.Errorf("error determining child task queue presence in inherited version: %w", err)
}
if !newTQInPinnedVersion {
inheritedPinnedVersion = nil
}
}
}
// Pinned and one-time overrides are inherited if Task Queue of new run is compatible with the override version.
if o := mutableState.GetExecutionInfo().GetVersioningInfo().GetVersioningOverride(); worker_versioning.GetOverrideTargetDeploymentVersion(o) != nil {
inheritedVersioningOverride = o
newTQ := attributes.GetTaskQueue().GetName()
if newTQ != mutableState.GetExecutionInfo().GetTaskQueue() && !newTQInPinnedVersion ||
attributes.GetNamespaceId() != mutableState.GetExecutionInfo().GetNamespaceId() { // don't inherit override if child is in a different namespace
inheritedVersioningOverride = nil
}
}
// 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.View on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at service/history/transfer_queue_active_task_executor.go:995 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01).
Data as JSON: /api/errors/e5275b4cfd049a14.
Report an issue: GitHub.