322
metricsHandler metrics.Handler,
323
priority *commonpb.Priority,
324
>
) (resp *historyservice.QueryWorkflowResponse, retError error) {
api.go
325
>
326
>
startTime := time.Now().UTC()
327
>
defer func() {
328
>
metrics.DirectQueryDispatchLatency.With(metricsHandler).Record(time.Since(startTime))
329
>
emitWorkflowQueryMetrics(
330
>
metricsHandler,
331
>
nsEntry,
332
>
msResp,
333
>
queryRequest.GetQuery().GetQueryType(),
334
>
retError,
335
>
)
336
>
}()
337
338
>
directive := worker_versioning.MakeDirectiveForWorkflowTask(
api.go
339
>
msResp.GetInheritedBuildId(),
340
>
msResp.GetAssignedBuildId(),
341
>
msResp.GetMostRecentWorkerVersionStamp(),
342
>
msResp.GetPreviousStartedEventId() != common.EmptyEventID,
343
>
workflow.GetEffectiveVersioningBehavior(msResp.GetVersioningInfo()),
344
>
workflow.GetEffectiveDeployment(msResp.GetVersioningInfo()),
345
>
msResp.GetVersioningInfo().GetRevisionNumber(),
346
>
// False for query, because it is not an initial workflow task.
347
>
false,
348
>
)
349
>
350
>
if msResp.GetIsStickyTaskQueueEnabled() &&
351
>
len(msResp.GetStickyTaskQueue().GetName()) != 0 &&
352
>
shard.GetConfig().EnableStickyQuery(queryRequest.GetNamespace()) {
353
354
stickyMatchingRequest := &matchingservice.QueryWorkflowRequest{