`Grape#PUT /api/jobs/:id` accesses object storage directly with new live trace architecture
Problem
This issue was found in https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/4667#note_101326235
Grape#PUT /api/jobs/:id
: Method Call wall time (Ci::BuildTraceChunk#append
)
Basically, the patched trace consists of multiple chunks which separated by 128Kb. And, when a patched trace is overwritten, each chunk is overwritten, although each chunk has already been uploaded to object storage at this moment, so append
tries to overwrite chunks on object storage.
Generally, putting a file to object storage is an expensive task. Therefore, those append
method takes around 5s-8s average. I'll create an issue. /cc @ayufan
Proposal
TBD