112
}()
113
115
archiveFailReason = archiver.ErrReasonInvalidURI
116
return err
117
}
118
120
archiveFailReason = archiver.ErrReasonInvalidArchiveRequest
121
return err
122
}
123
125
>
if err != nil {
126
archiveFailReason = errEncodeVisibilityRecord
127
return err
128
}
130
>
// Upload archive to all indexes
131
>
for _, element := range indexes {
132
>
key := constructTimestampIndex(URI.Path(), request.GetNamespaceId(), element.primaryIndex, element.primaryIndexValue, element.secondaryIndex, element.secondaryIndexTimestamp, request.GetRunId())
133
>
if err := Upload(ctx, v.s3cli, URI, key, encodedVisibilityRecord); err != nil {
134
archiveFailReason = errWriteKey
135
return err
136
}
137
}
139
>
return nil
140
}
141
142
>
func createIndexesToArchive(request *archiverspb.VisibilityRecord) []indexToArchive {
visibility_archiver.go
143
>
return []indexToArchive{
144
>
{primaryIndexKeyWorkflowTypeName, request.WorkflowTypeName, secondaryIndexKeyCloseTimeout, timestamp.TimeValue(request.CloseTime)},
145
>
{primaryIndexKeyWorkflowTypeName, request.WorkflowTypeName, secondaryIndexKeyStartTimeout, timestamp.TimeValue(request.StartTime)},
146
>
{primaryIndexKeyWorkflowID, request.GetWorkflowId(), secondaryIndexKeyCloseTimeout, timestamp.TimeValue(request.CloseTime)},
147
>
{primaryIndexKeyWorkflowID, request.GetWorkflowId(), secondaryIndexKeyStartTimeout, timestamp.TimeValue(request.StartTime)},
148
>
}
149
>
}
150
151
func (v *visibilityArchiver) Query(