Skip to content

`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)

Screenshot_from_2018-09-14_10-33-37

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

/cc @ayufan @erushton