This is an automated email from the ASF dual-hosted git repository.
klesh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/devlake.git
The following commit(s) were added to refs/heads/main by this push:
new 44d0dcecc fix(github_graphql): stop requesting unused descriptionHTML
for releases (#9248)
44d0dcecc is described below
commit 44d0dcecc745e6fcad7e4b215488264dcfec72fb
Author: Edwin Zhao <[email protected]>
AuthorDate: Mon Oct 26 09:30:24 2026 -0700
fix(github_graphql): stop requesting unused descriptionHTML for releases
(#9248)
The release extractor fills github_releases.description_html from
description and never reads descriptionHTML, but the collector still
asks GitHub for it. Rendering release notes to HTML for a full page of
100 releases can exceed GitHub's GraphQL time limit on repositories with
long release notes: the API returns 502/504, the three retries hit the
same limit, and Collect Releases fails with "pageInfo is nil".
On a repository with 86 releases and ~437 KB of release notes, the
current query returned 502 after ~11s; without descriptionHTML the same
page of 100 returns in ~2.2s.
---
.../github_graphql/tasks/release_collector.go | 31 +++++++++++-----------
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/backend/plugins/github_graphql/tasks/release_collector.go
b/backend/plugins/github_graphql/tasks/release_collector.go
index 5a072e815..1d9dec316 100644
--- a/backend/plugins/github_graphql/tasks/release_collector.go
+++ b/backend/plugins/github_graphql/tasks/release_collector.go
@@ -57,22 +57,21 @@ type GraphqlQueryReleaseTagCommit struct {
}
type GraphqlQueryRelease struct {
- Author GraphqlQueryReleaseAuthor `graphql:"author"`
- DatabaseID int `graphql:"databaseId"`
- Id string `graphql:"id"`
- CreatedAt time.Time `graphql:"createdAt"`
- Description string `graphql:"description"`
- DescriptionHTML string `graphql:"descriptionHTML"`
- IsDraft bool `graphql:"isDraft"`
- IsLatest bool `graphql:"isLatest"`
- IsPrerelease bool `graphql:"isPrerelease"`
- Name string `graphql:"name"`
- PublishedAt *time.Time `graphql:"publishedAt"`
- ResourcePath string `graphql:"resourcePath"`
- TagName string `graphql:"tagName"`
- TagCommit GraphqlQueryReleaseTagCommit `graphql:"tagCommit"`
- UpdatedAt time.Time `graphql:"updatedAt"`
- URL string `graphql:"url"`
+ Author GraphqlQueryReleaseAuthor `graphql:"author"`
+ DatabaseID int `graphql:"databaseId"`
+ Id string `graphql:"id"`
+ CreatedAt time.Time `graphql:"createdAt"`
+ Description string `graphql:"description"`
+ IsDraft bool `graphql:"isDraft"`
+ IsLatest bool `graphql:"isLatest"`
+ IsPrerelease bool `graphql:"isPrerelease"`
+ Name string `graphql:"name"`
+ PublishedAt *time.Time `graphql:"publishedAt"`
+ ResourcePath string `graphql:"resourcePath"`
+ TagName string `graphql:"tagName"`
+ TagCommit GraphqlQueryReleaseTagCommit `graphql:"tagCommit"`
+ UpdatedAt time.Time `graphql:"updatedAt"`
+ URL string `graphql:"url"`
}
var CollectReleaseMeta = plugin.SubTaskMeta{