aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/cover
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2025-04-02 20:28:15 +0200
committerTaras Madan <tarasmadan@google.com>2025-04-04 14:52:42 +0000
commitc53ea9c902c6745d750c5700631e1556716f4cd4 (patch)
tree855f9483db0aeedee6fe7dbd34e746356db13085 /pkg/cover
parent1c4febdbbe8f34403baef506b22cd689576927f6 (diff)
pkg/covermerger: read gcs files sequentially
Quarter long aggregation means thousands of gzip files. Opening all the files in parallel we struggle from: 1. Memory overhead. 2. GCS API errors. It can't read Attrs for 1500+ files.
Diffstat (limited to 'pkg/cover')
-rw-r--r--pkg/cover/file.go16
1 files changed, 3 insertions, 13 deletions
diff --git a/pkg/cover/file.go b/pkg/cover/file.go
index f96deb677..97b6be6b7 100644
--- a/pkg/cover/file.go
+++ b/pkg/cover/file.go
@@ -63,21 +63,11 @@ func GetMergeResult(c context.Context, ns, repo, forCommit, sourceCommit, filePa
}
fromDate, toDate := tp.DatesFromTo()
- dbReader := covermerger.MakeBQCSVReader()
- if err := dbReader.InitNsRecords(c,
- ns,
- filePath,
- sourceCommit,
- fromDate,
- toDate,
- ); err != nil {
- return nil, fmt.Errorf("failed to dbReader.InitNsRecords: %w", err)
- }
- defer dbReader.Close()
- csvReader, err := dbReader.Reader()
+ csvReader, err := covermerger.InitNsRecords(c, ns, filePath, sourceCommit, fromDate, toDate)
if err != nil {
- return nil, fmt.Errorf("failed to dbReader.Reader: %w", err)
+ return nil, fmt.Errorf("failed to covermerger.InitNsRecords: %w", err)
}
+ defer csvReader.Close()
ch := make(chan *covermerger.FileMergeResult, 1)
if err := covermerger.MergeCSVData(c, config, csvReader, ch); err != nil {