Skip to content

fix(github_graphql): stop requesting unused descriptionHTML for releases - #9248

Open
edw1nzhao wants to merge 1 commit into
apache:mainfrom
edw1nzhao:fix/github-graphql-release-description-html
Open

edw1nzhao wants to merge 1 commit into
apache:mainfrom
edw1nzhao:fix/github-graphql-release-description-html

Conversation

@edw1nzhao

Copy link
Copy Markdown

Summary

Collect Releases asks GitHub for descriptionHTML on every release, but release_extractor.go never reads it: it fills DescriptionHTML from release.Description. Rendering release notes to HTML for a page of 100 releases can exceed GitHub's GraphQL time limit when the notes are long. GitHub then returns 502/504, all three retries hit the same limit, and the subtask fails with fetchPagesDetermined got pageInfo is nil, leaving the pipeline TASK_PARTIAL.

This removes the field from the query. Stored data is unchanged, because the extractor already sets the column from description.

Measured on a repository with 86 releases and about 437 KB of release notes, using the collector's exact query at page size 100:

Query Result
with descriptionHTML 502 after ~11s
without descriptionHTML 200 in ~2.2s (3 of 3 runs)

Does this close any open issues?

No existing issue.

Other Information

No new test. The extractor is unchanged, and the github_graphql e2e suite has no release fixtures. go build, go vet and go test ./plugins/github_graphql/tasks/... pass.

Suggested label: pr-type/bug-fix (I can't set labels on this repo).

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant