188
189
if d.version == matchingTaskVersion1 && request.TaskQueueKind == enumspb.TASK_QUEUE_KIND_STICKY {
191
>
if request.ExpiryTime == nil {
192
return nil, serviceerror.NewInternal("ExpiryTime cannot be nil for sticky task queue")
193
}
194
>
expiryTTL := min(convert.Int64Ceil(time.Until(timestamp.TimeValue(request.ExpiryTime)).Seconds()), maxCassandraTTL)
matching_task_store_queue.go
195
>
batch := d.Session.NewBatch(gocql.LoggedBatch).WithContext(ctx)
196
>
197
>
batch.Query(switchTasksTable(templateUpdateTaskQueueQueryWithTTLPart1, d.version),
198
>
request.NamespaceID,
199
>
request.TaskQueue,
200
>
request.TaskType,
201
>
rowTypeTaskQueue,
202
>
taskQueueTaskID,
203
>
expiryTTL,
204
>
)
205
>
206
>
batch.Query(switchTasksTable(templateUpdateTaskQueueQueryWithTTLPart2, d.version),
207
>
expiryTTL,
208
>
request.RangeID,
209
>
request.TaskQueueInfo.Data,
210
>
request.TaskQueueInfo.EncodingType.String(),
211
>
request.NamespaceID,
212
>
request.TaskQueue,
213
>
request.TaskType,
214
>
rowTypeTaskQueue,
215
>
taskQueueTaskID,
216
>
request.PrevRangeID,
217
>
)
218
>
applied, _, err = d.Session.MapExecuteBatchCAS(batch, previous)
219
} else {
220
// Regular update logic for both V1 and V2