You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is no pageInfo request and no pagination loop, so a PR that closes more than 10 issues silently drops every closing reference after the first page.
This affects validator-facing data:
FetchProcessor.handlePrMetadata() writes the truncated array to pull_requests.closing_issue_numbers.
For merged PRs, only the truncated issue set gets issues.solved_by_pr updated.
pr_linked_issues and miner API linked-issue output can omit valid linked issues.
Steps to Reproduce
Create or backfill a merged PR whose body closes more than 10 issues in the same tracked repository, for example Closes #1, closes #2, ... closes #11.
Let the fetch-pr-metadata job run for that PR.
Inspect pull_requests.closing_issue_numbers or the miner API linked issues for that PR.
Inspect the omitted issue rows after the 10th closing reference.
Expected Behavior
All same-repository closing issue references are persisted in pull_requests.closing_issue_numbers.
Every linked issue that exists in the mirror can appear through pr_linked_issues, and every linked issue closed by a merged PR can have issues.solved_by_pr reconciled.
Actual Behavior
Only the first 10 closingIssuesReferences nodes are stored.
Any linked issue after the first 10 is missing from pull_requests.closing_issue_numbers, cannot appear in pr_linked_issues, and is not updated by the merged-PR solved_by_pr write in FetchProcessor.handlePrMetadata().
Request pageInfo { hasNextPage endCursor } on closingIssuesReferences.
Page through all closing issue references for the PR before returning closingIssueNumbers.
If combined later with the cross-repo fix from fix(mirror): filter cross-repo closing refs #36, preserve repository identity while paginating and filter to the PR's own repository before storing issue numbers.
Description
das-github-mirrorfetches PR closing issue references with a fixed first-page GraphQL cap:The returned nodes are stored directly as
pull_requests.closing_issue_numbers:There is no
pageInforequest and no pagination loop, so a PR that closes more than 10 issues silently drops every closing reference after the first page.This affects validator-facing data:
FetchProcessor.handlePrMetadata()writes the truncated array topull_requests.closing_issue_numbers.issues.solved_by_prupdated.pr_linked_issuesand miner API linked-issue output can omit valid linked issues.Steps to Reproduce
Closes #1, closes #2, ... closes #11.fetch-pr-metadatajob run for that PR.pull_requests.closing_issue_numbersor the miner API linked issues for that PR.Expected Behavior
All same-repository closing issue references are persisted in
pull_requests.closing_issue_numbers.Every linked issue that exists in the mirror can appear through
pr_linked_issues, and every linked issue closed by a merged PR can haveissues.solved_by_prreconciled.Actual Behavior
Only the first 10
closingIssuesReferencesnodes are stored.Any linked issue after the first 10 is missing from
pull_requests.closing_issue_numbers, cannot appear inpr_linked_issues, and is not updated by the merged-PRsolved_by_prwrite inFetchProcessor.handlePrMetadata().Environment
packages/das/DockerfileAdditional Context
Relevant code:
packages/das/src/webhook/github-fetcher.service.tsfetchPrMetadata()queriesclosingIssuesReferences(first: 10)withoutpageInfo.closingIssueNumbers.packages/das/src/queue/fetch.processor.tshandlePrMetadata()persists the truncatedclosingIssueNumbers.solvedByPronly for those stored issue numbers.Duplicate check:
Backfillcan misssolved_by_prlinks when PR metadata runs before issues exist #28 / Fix backfill race for issue solved_by_pr linkage #29: those address backfill ordering and missedsolved_by_prreconciliation when issue rows do not exist yet. This issue is about the sourceclosingIssueNumbersarray already being truncated before reconciliation.closingIssuesReferencesinfetchPrMetadata().Suggested fix:
pageInfo { hasNextPage endCursor }onclosingIssuesReferences.closingIssueNumbers.