8928
return
8929
}
8931
>
lastIndex := -1
8932
>
for i, task := range visTasks {
8933
>
switch task.GetType() {
8934
case enumsspb.TASK_TYPE_VISIBILITY_START_EXECUTION,
8935
enumsspb.TASK_TYPE_VISIBILITY_UPSERT_EXECUTION,
8936
enumsspb.TASK_TYPE_VISIBILITY_CLOSE_EXECUTION,
8938
>
if visTaskToKeep == nil || task.GetType() >= visTaskToKeep.GetType() {
8939
>
visTaskToKeep = task
8940
>
}
8941
>
lastIndex = i
8942
}
8943
}
8945
return
8946
}
8948
>
for i, task := range visTasks {
8949
>
switch task.GetType() {
8950
case enumsspb.TASK_TYPE_VISIBILITY_START_EXECUTION,
8951
enumsspb.TASK_TYPE_VISIBILITY_UPSERT_EXECUTION,
8952
enumsspb.TASK_TYPE_VISIBILITY_CLOSE_EXECUTION,
8954
>
if i == lastIndex {
8955
>
collapsedVisTasks = append(collapsedVisTasks, visTaskToKeep)
8956
>
}
8957
default:
8958
collapsedVisTasks = append(collapsedVisTasks, task)
8959
}
8960
}
8962
}
8963