{"record":{"id":"05f963657b13c909","repo":"temporalio/temporal","slug":"error-determining-can-task-queue-presence-in-auto","errorCode":null,"errorMessage":"error determining CAN task queue presence in auto upgrade deployment: %w","messagePattern":"error determining CAN task queue presence in auto upgrade deployment: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"service/history/workflow/mutable_state_impl.go","lineNumber":2833,"sourceCode":"\tvar sourceDeploymentRevisionNumber int64\n\tpreviousBehavior := previousExecutionState.GetEffectiveVersioningBehavior()\n\tnonEmptyContinueAsNewInitialBehavior := command.GetInitialVersioningBehavior() != enumspb.CONTINUE_AS_NEW_VERSIONING_BEHAVIOR_UNSPECIFIED\n\tif previousBehavior == enumspb.VERSIONING_BEHAVIOR_AUTO_UPGRADE ||\n\t\t(previousBehavior == enumspb.VERSIONING_BEHAVIOR_PINNED && nonEmptyContinueAsNewInitialBehavior) {\n\t\tsourceDeploymentVersion = worker_versioning.ExternalWorkerDeploymentVersionFromDeployment(previousExecutionState.GetEffectiveDeployment())\n\t\tsourceDeploymentRevisionNumber = previousExecutionState.GetVersioningRevisionNumber()\n\n\t\tnewTQ := command.GetTaskQueue().GetName()\n\t\tif newTQ != previousExecutionInfo.GetTaskQueue() {\n\t\t\t// Cross-TQ CAN: check if new TQ is in parent's deployment\n\t\t\tTQInSourceDeploymentVersion, err := IsWFTaskQueueInVersionDetector(\n\t\t\t\tctx,\n\t\t\t\tms.GetNamespaceEntry().ID().String(),\n\t\t\t\tnewTQ,\n\t\t\t\tsourceDeploymentVersion,\n\t\t\t)\n\t\t\tif err != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"error determining CAN task queue presence in auto upgrade deployment: %w\", err)\n\t\t\t}\n\t\t\tif !TQInSourceDeploymentVersion {\n\t\t\t\tsourceDeploymentVersion = nil\n\t\t\t\tsourceDeploymentRevisionNumber = 0\n\t\t\t}\n\t\t}\n\t}\n\tdeclinedTargetVersionUpgrade := computeDeclinedTargetVersionUpgrade(previousExecutionInfo, inheritedPinnedVersion != nil)\n\n\ttsc, stateProp := propagateTimeSkippingToNextRun(previousExecutionInfo.GetTimeSkippingInfo())\n\tcreateRequest := &workflowservice.StartWorkflowExecutionRequest{\n\t\tRequestId:                uuid.NewString(),\n\t\tNamespace:                ms.namespaceEntry.Name().String(),\n\t\tWorkflowId:               execution.WorkflowId,\n\t\tTaskQueue:                tq,\n\t\tWorkflowType:             wType,\n\t\tWorkflowExecutionTimeout: previousExecutionInfo.WorkflowExecutionTimeout,\n\t\tWorkflowRunTimeout:       runTimeout,","sourceCodeStart":2815,"sourceCodeEnd":2851,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/service/history/workflow/mutable_state_impl.go#L2815-L2851","documentation":"Error \"error determining CAN task queue presence in auto upgrade deployment: %w\" thrown in temporalio/temporal.","triggerScenarios":"Thrown at service/history/workflow/mutable_state_impl.go:2833 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"}