Graphsight - #7
Merged
Merged
Conversation
A live ingest of pallets/click (15 PRs, 212 typed edges) showed --files had made things worse: giving PRs their real TOUCHES edges pushed 7 of 15 past MAX_DEGREE, so the hub filter skipped them entirely and traversal collapsed to one hop. Wide diffs are exactly the PRs worth traversing. Hubness is now judged per relation. A relation fanning out past MAX_DEGREE from one node carries no signal and is dropped; the node's other edges survive. A node whose every relation fans out that wide is still skipped, so repo:, which TOUCHES all 45 neighbours, stays excluded. On that live graph, PR #3695 (degree 18, previously invisible) now expands to AUTHORED -> Rowlando13, RESOLVES -> #3099, REVIEWED -> davidism, and the same query goes from 1 hop to 15.
…s, serial fetch 100-PR live ingests of fastapi/fastapi and pallets/click found four problems. REVIEWED was reading `requested_reviewers`, which is a *pending* review request that empties out once someone actually reviews. So it both missed real reviewers and credited people who never opened the code — fastapi produced 0 REVIEWED edges across 100 PRs. Now read from /pulls/N/reviews (--reviews), deduped, with self-approval excluded: fastapi 0 -> 10, click 10 -> 13. The per-PR file list was fetched as a single page, silently dropping everything past the first 100 files on a wide PR. Now paged. parse_ts read a tz-less timestamp as local time, shifting ages by the machine's UTC offset. Now assumed UTC. Per-PR detail fetches were serial and dominated wall time (110s of 143s). Now concurrent, and paging stops on a short page instead of paying for an empty round trip: 100 PRs went from 142.8s to 98.4s while fetching twice as much. Also measured and unchanged: p50 18ms / p95 21ms query latency on a 1274-node graph, 115 q/s across 32 threads with zero errors, and no crash on any hostile payload (null user, 2000 files, 50k-char query, emoji, null byte). A Cypher injection attempt left all 1274 nodes intact — the parameterized queries hold. 51 engine tests.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.