@@ -112,9 +112,11 @@ func (e *archivalQueueTaskExecutor) processArchiveExecutionTask(ctx context.Cont
112
112
if err != nil {
113
113
return err
114
114
}
115
- _ , err = e .archiver .Archive (ctx , request )
116
- if err != nil {
117
- return err
115
+ if len (request .Targets ) > 0 {
116
+ _ , err = e .archiver .Archive (ctx , request )
117
+ if err != nil {
118
+ return err
119
+ }
118
120
}
119
121
return e .addDeletionTask (ctx , logger , task , request .CloseTime )
120
122
}
@@ -154,52 +156,47 @@ func (e *archivalQueueTaskExecutor) getArchiveTaskRequest(
154
156
return nil , err
155
157
}
156
158
159
+ var historyURI , visibilityURI carchiver.URI
157
160
var targets []archival.Target
158
161
if e .shardContext .GetArchivalMetadata ().GetVisibilityConfig ().ClusterConfiguredForArchival () &&
159
162
namespaceEntry .VisibilityArchivalState ().State == enumspb .ARCHIVAL_STATE_ENABLED {
160
163
targets = append (targets , archival .TargetVisibility )
164
+ visibilityURIString := namespaceEntry .VisibilityArchivalState ().URI
165
+ visibilityURI , err = carchiver .NewURI (visibilityURIString )
166
+ if err != nil {
167
+ e .metricsHandler .Counter (metrics .ArchivalTaskInvalidURI .GetMetricName ()).Record (
168
+ 1 ,
169
+ metrics .NamespaceTag (namespaceName .String ()),
170
+ metrics .FailureTag (metrics .InvalidVisibilityURITagValue ),
171
+ )
172
+ logger .Error (
173
+ "Failed to parse visibility URI." ,
174
+ tag .ArchivalURI (visibilityURIString ),
175
+ tag .Error (err ),
176
+ )
177
+ return nil , fmt .Errorf ("failed to parse visibility URI for archival task: %w" , err )
178
+ }
161
179
}
162
180
if e .shardContext .GetArchivalMetadata ().GetHistoryConfig ().ClusterConfiguredForArchival () &&
163
181
namespaceEntry .HistoryArchivalState ().State == enumspb .ARCHIVAL_STATE_ENABLED {
182
+ historyURIString := namespaceEntry .HistoryArchivalState ().URI
183
+ historyURI , err = carchiver .NewURI (historyURIString )
184
+ if err != nil {
185
+ e .metricsHandler .Counter (metrics .ArchivalTaskInvalidURI .GetMetricName ()).Record (
186
+ 1 ,
187
+ metrics .NamespaceTag (namespaceName .String ()),
188
+ metrics .FailureTag (metrics .InvalidHistoryURITagValue ),
189
+ )
190
+ logger .Error (
191
+ "Failed to parse history URI." ,
192
+ tag .ArchivalURI (historyURIString ),
193
+ tag .Error (err ),
194
+ )
195
+ return nil , fmt .Errorf ("failed to parse history URI for archival task: %w" , err )
196
+ }
164
197
targets = append (targets , archival .TargetHistory )
165
198
}
166
- if len (targets ) == 0 {
167
- return nil , fmt .Errorf (
168
- "no archival targets configured for archive execution task: %+v" ,
169
- task .WorkflowKey ,
170
- )
171
- }
172
199
173
- historyURIString := namespaceEntry .HistoryArchivalState ().URI
174
- historyURI , err := carchiver .NewURI (historyURIString )
175
- if err != nil {
176
- e .metricsHandler .Counter (metrics .ArchivalTaskInvalidURI .GetMetricName ()).Record (
177
- 1 ,
178
- metrics .NamespaceTag (namespaceName .String ()),
179
- metrics .FailureTag ("invalid_history_uri" ),
180
- )
181
- logger .Error (
182
- "Failed to parse history URI." ,
183
- tag .ArchivalURI (historyURIString ),
184
- tag .Error (err ),
185
- )
186
- return nil , fmt .Errorf ("failed to parse history URI for archival task: %w" , err )
187
- }
188
- visibilityURIString := namespaceEntry .VisibilityArchivalState ().URI
189
- visibilityURI , err := carchiver .NewURI (visibilityURIString )
190
- if err != nil {
191
- e .metricsHandler .Counter (metrics .ArchivalTaskInvalidURI .GetMetricName ()).Record (
192
- 1 ,
193
- metrics .NamespaceTag (namespaceName .String ()),
194
- metrics .FailureTag ("invalid_visibility_uri" ),
195
- )
196
- logger .Error (
197
- "Failed to parse visibility URI." ,
198
- tag .ArchivalURI (visibilityURIString ),
199
- tag .Error (err ),
200
- )
201
- return nil , fmt .Errorf ("failed to parse visibility URI for archival task: %w" , err )
202
- }
203
200
workflowAttributes , err := e .relocatableAttributesFetcher .Fetch (ctx , mutableState )
204
201
if err != nil {
205
202
return nil , err
0 commit comments