@@ -33,6 +33,7 @@ import (
33
33
"go.temporal.io/server/common/clock"
34
34
"go.temporal.io/server/common/dynamicconfig"
35
35
"go.temporal.io/server/common/log"
36
+ "go.temporal.io/server/common/log/tag"
36
37
"go.temporal.io/server/common/metrics"
37
38
"go.temporal.io/server/common/namespace"
38
39
"go.temporal.io/server/common/quotas"
@@ -114,14 +115,25 @@ func NewNamespacePriorityScheduler(
114
115
}
115
116
channelWeightFn := func (key TaskChannelKey ) int {
116
117
namespaceWeights := options .ActiveNamespaceWeights
118
+ namespaceName := namespace .EmptyName
117
119
118
- namespace , _ := namespaceRegistry .GetNamespaceByID (namespace .ID (key .NamespaceID ))
119
- if ! namespace .ActiveInCluster (currentClusterName ) {
120
- namespaceWeights = options .StandbyNamespaceWeights
120
+ namespace , err := namespaceRegistry .GetNamespaceByID (namespace .ID (key .NamespaceID ))
121
+ if err == nil {
122
+ namespaceName = namespace .Name ()
123
+ if ! namespace .ActiveInCluster (currentClusterName ) {
124
+ namespaceWeights = options .StandbyNamespaceWeights
125
+ }
126
+ } else {
127
+ // if namespace not found, treat is as active namespace and
128
+ // use default active namespace weight
129
+ logger .Warn ("Unable to find namespace, using active namespace task channel weight" ,
130
+ tag .WorkflowNamespaceID (key .NamespaceID ),
131
+ tag .Error (err ),
132
+ )
121
133
}
122
134
123
135
return configs .ConvertDynamicConfigValueToWeights (
124
- namespaceWeights (namespace . Name () .String ()),
136
+ namespaceWeights (namespaceName .String ()),
125
137
logger ,
126
138
)[key .Priority ]
127
139
}
0 commit comments