Method: Gitlab::Ci::Trace::Checksum#trace_chunks

Defined in:
lib/gitlab/ci/trace/checksum.rb

#trace_chunksObject

Trace chunks will be persisted in a database if an object store is not configured - in that case we do not want to load entire raw data of all the chunks into memory.

We ignore raw_data attribute instead, and rely on internal build trace chunk database adapter to handle ActiveModel::MissingAttributeError exception.

Alternative solution would be separating chunk data from chunk metadata on the database level too.



64
65
66
67
68
69
70
71
# File 'lib/gitlab/ci/trace/checksum.rb', line 64

def trace_chunks
  strong_memoize(:trace_chunks) do
    ::Ci::BuildTraceChunk.with_read_consistency(build) do
      build.trace_chunks.persisted
        .select(::Ci::BuildTraceChunk.)
    end
  end
end