From 00dc68fb94791fb479cdd1932b9dd6793f14fefd Mon Sep 17 00:00:00 2001 From: Taras Madan Date: Thu, 31 Jul 2025 16:05:38 +0200 Subject: pkg/coveragedb: update file to subsystem info periodically #6070 explains the problem of data propagation. 1. Add weekly /cron/update_coverdb_subsystems. 2. Stop updating subsystems from coverage receiver API. --- dashboard/app/coverage.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'dashboard/app/coverage.go') diff --git a/dashboard/app/coverage.go b/dashboard/app/coverage.go index 4611a7977..67a4494e0 100644 --- a/dashboard/app/coverage.go +++ b/dashboard/app/coverage.go @@ -21,6 +21,7 @@ import ( "github.com/google/syzkaller/pkg/html/urlutil" "github.com/google/syzkaller/pkg/validator" "google.golang.org/appengine/v2" + "google.golang.org/appengine/v2/log" ) var coverageDBClient spannerclient.SpannerClient @@ -393,3 +394,23 @@ func handleCoverageGraph(c context.Context, w http.ResponseWriter, r *http.Reque } return serveTemplate(w, "graph_histogram.html", data) } + +func handleUpdateCoverDBSubsystems(w http.ResponseWriter, r *http.Request) { + ctx := r.Context() + for ns, nsConfig := range getConfig(ctx).Namespaces { + service := nsConfig.Subsystems.Service + if service == nil { + continue + } + sss := service.List() + updatedRecords, err := coveragedb.RegenerateSubsystems(ctx, ns, sss, coverageDBClient) + if err != nil { + httpErr := fmt.Errorf("ns %s: %w", ns, err) + log.Errorf(ctx, "%s", httpErr.Error()) + http.Error(w, httpErr.Error(), http.StatusInternalServerError) + return + } + log.Infof(ctx, "%s: %v records updated\n", ns, updatedRecords) + fmt.Fprintf(w, "%s: %v records updated\n", ns, updatedRecords) + } +} -- cgit mrf-deployment