You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@datafusion.apache.org by "alamb (via GitHub)" <gi...@apache.org> on 2026/10/22 12:00:03 UTC
Re: [I] [DISCUSSION] Rethinking Code Review and Testing in the Agent Era [datafusion]
alamb commented on issue #23839:
URL: https://github.com/apache/datafusion/issues/23839#issuecomment-6340201744
FWIW I am trying a new idea to label PRs from authors that made PRs in over 20 other repositories int he last 30 days
[label_prolific.py](https://github.com/user-attachments/files/33818583/label_prolific.py)
To be clear there is nothing wrong with this, though I will likely personally prioritize such PRs lower in my review queue
There are quite a few
```shell
andrewlamb@Andrews-MacBook-Pro-3:~/Software/arrow-rs$ ~/bin/label_prolific.py https://github.com/apache/datafusion
Repository: apache/datafusion
Window: 2026-09-22 to 2026-10-22 (30 days); threshold: more than 20 distinct repositories
Found 469 open PR(s) from 216 author(s) in 0 request(s) (cached)
Label 'Prolific Author' does not exist yet
Fetched contribution stats in 0 request(s) (216 author(s) from cache)
Exempt: 1fanwang has 14 merged PR(s) in apache/datafusion (>= 10); not marking as prolific despite 59 repos in window
Exempt: bvolpato has 11 merged PR(s) in apache/datafusion (>= 10); not marking as prolific despite 36 repos in window
Exempt: goutamadwant has 18 merged PR(s) in apache/datafusion (>= 10); not marking as prolific despite 51 repos in window
Prolific: DeviousCardi: 53 repos, 64 PRs; top: ClickHouse/ClickHouse (5), GreptimeTeam/greptimedb (3), apache/iceberg-rust (3), goauthentik/authentik (2), risingwavelabs/risingwave (2)
Prolific: Harshil-1603: 31 repos, 54 PRs; top: diybitcoinhardware/embit (7), Youth-Research-Center/PandaPlot (4), pydot/pydot (4), harshitsaini17/flowd (3), apache/datafusion (2)
Prolific: Prajwal-k-tech: 29 repos, 46 PRs; top: Prajwal-k-tech/KOJ (6), Prajwal-k-tech/Prajwal-k-tech (4), apache/datafusion (3), helix-editor/helix (2), tracel-ai/burn (2)
Prolific: Shahzeb-DataEngineer: 21 repos, 29 PRs; top: delta-io/delta-rs (4), kedro-org/kedro (3), apache/datafusion (2), open-metadata/docs-om (2), canonical/craft-cli (2)
Prolific: Shoryamishra61: 26 repos, 34 PRs; top: ClickHouse/ClickHouse (4), apache/datafusion (2), temporalio/sdk-typescript (2), qdrant/qdrant (2), pytorch/pytorch (2)
Prolific: ahlag: 26 repos, 53 PRs; top: delta-io/delta-rs (6), apache/arrow-rs (6), llvm/llvm-project (5), opensearch-project/OpenSearch (4), jax-ml/jax (3)
Prolific: cargopete: 59 repos, 704 PRs; top: nuthatch-org/nuthatch (458), nuthatch-org/nuthatch-frontend (94), nuthatch-org/burrmill (57), cargopete/gyrfalcon (16), nuthatch-org/nuthatch-tui-client (15)
Prolific: charan-rathore: 100 repos, 584 PRs; top: charan-rathore/memoRABLE (46), charan-rathore/IntelliRAG (43), NousResearch/hermes-agent (43), charan-rathore/Time-Series-Temperature-Modelling (38), yetone/magpie (35)
Prolific: choksi2212: 99 repos, 256 PRs; top: IkarusAILabs/OpenPulse (28), eiserv/easySFTP (24), keycloak/keycloak (15), leodip/goiabada (8), choksi2212/open-uml (8)
Prolific: efegokdemir: 100 repos, 726 PRs; top: Basekick-Labs/arc (57), RexCode-Digital/shopify-app-changeguard (48), RexCode-Digital/shopify-upgrade-guard (27), RexCode-Digital/shopify-scope-guard (22), RexCode-Digital/shopify-app-review-guard (16)
Prolific: entity-0-0-2: 42 repos, 45 PRs; top: tauri-apps/tauri (3), dcmjs-org/dcmjs (2), Kozea/CairoSVG (1), CrowCpp/Crow (1), walkor/webman-framework (1)
Prolific: jdymitarai: 64 repos, 218 PRs; top: jdymitarai/zerospinner (105), google/highway (6), google/double-conversion (4), google/gvisor (3), vitessio/vitess (3)
Prolific: mikamikasuki: 100 repos, 529 PRs; top: mikamikasuki/forest (155), loopx-project/loopx (94), langgenius/dify (46), PrefectHQ/fastmcp (30), oven-sh/bun (8)
Prolific: mrhard9090: 25 repos, 151 PRs; top: MorpheApp/morphe-patches (49), doobidoo/mcp-memory-service (17), open-pencil/open-pencil (13), veryl-lang/veryl (12), rtk-ai/rtk (8)
Prolific: nikolas-sapa: 43 repos, 175 PRs; top: nikolas-sapa/co-train (32), nikolas-sapa/ns-ui (31), adaptive-machine-learning/CapyMOA (13), nikolas-sapa/grip-browser (11), nikolas-sapa/fieldquest (8)
Prolific: ozenyunus35: 58 repos, 184 PRs; top: repowise-dev/repowise (26), uutils/coreutils (20), stephenh/ts-proto (17), oxc-project/oxc (12), tursodatabase/turso (7)
Prolific: paoValle: 99 repos, 233 PRs; top: paoValle/orbitree (60), paoValle/llmgateway (10), stablyai/orca (9), paoValle/pgdrift (9), paoValle/ledgerlab (8)
Prolific: patrickswedish: 22 repos, 59 PRs; top: vllm-project/vllm (10), apache/datafusion (9), continuedev/continue (7), sgl-project/sglang (5), Aider-AI/aider (5)
Prolific: princejain756: 39 repos, 82 PRs; top: questdb/questdb (9), apache/datafusion-sqlparser-rs (7), JSQLParser/JSqlParser (6), axios/axios (5), sqlfluff/sqlfluff (5)
Prolific: rawsun007: 26 repos, 46 PRs; top: childrentime/reactuse (6), SCons/scons (5), Homebrew/brew (4), go-gitea/gitea (3), sublimelsp/LSP (3)
Prolific: spicysharkco: 100 repos, 337 PRs; top: ohler55/ojg (24), vllm-project/aibrix (13), dop251/goja (12), clastix/kamaji (11), burningalchemist/sql_exporter (11)
Prolific: tayfuryldz: 68 repos, 227 PRs; top: andre-motta/tongs (33), getsotto/sotto (28), github/advisory-database (16), tayfuryldz/headerproof (11), metamug/plunger (9)
Prolific: ump45nose: 100 repos, 682 PRs; top: tursodatabase/turso (37), giampaolo/psutil (27), coredns/coredns (26), redis/go-redis (23), ueberdosis/tiptap (21)
Labeling #25561 (DeviousCardi): fix: do not evaluate a volatile coalesce or nvl argument twice
Labeling #25624 (tayfuryldz): fix: preserve dynamic filter identity across FFI
Labeling #25647 (Shoryamishra61): fix: propagate projection benefit through extension nodes in OptimizeProjections
Labeling #25772 (mrhard9090): fix: keep nested inner joins with a different null equality in EliminateCrossJoin
Labeling #25971 (mrhard9090): fix: hash every NaN like the canonical NaN in Spark xxhash64
Labeling #26006 (patrickswedish): fix: route sort-merge semi/anti/mark key equality through JoinKeyComparator
Labeling #26010 (mrhard9090): fix: evaluate sort-merge join filters that reference no columns
Labeling #26011 (mrhard9090): fix(spark): array_contains float equality matches Spark
Labeling #26025 (cargopete): docs: add nuthatch to known users
Labeling #26031 (efegokdemir): fix: remap nested TopK filter expressions before their children
Labeling #26040 (Prajwal-k-tech): docs: explain dialect requirement for lambda examples
Labeling #26041 (Prajwal-k-tech): docs: explain date_bin daylight saving behavior
Labeling #26042 (Prajwal-k-tech): fix: preserve outer join equivalences for null rows
Labeling #26045 (mikamikasuki): fix: validate temporal display formats
Labeling #26049 (mikamikasuki): fix: preserve timezone casts in timestamp comparisons
Labeling #26056 (mikamikasuki): fix: reset aggregate dynamic filters between recursive iterations
Labeling #26059 (mikamikasuki): fix: preserve unassigned inner join keys
Labeling #26060 (mikamikasuki): fix: preserve DISTINCT semantics in lateral decorrelation
Labeling #26146 (entity-0-0-2): fix: avoid sort-based joins for nested float join keys with negative zeros
Labeling #26151 (jdymitarai): fix: downcast to FixedSizeBinaryArray in CASE bytes lookup table
Labeling #26198 (Shahzeb-DataEngineer): fix: validate join_integer_prefilter_min_pruning_ratio at SET time
Labeling #26211 (jdymitarai): fix: cast outer projection expr to declared field type in SingleDistinctToGroupBy
Labeling #26246 (nikolas-sapa): docs: add NestedLoopJoinExec metrics to user-guide metrics page
Labeling #26291 (Harshil-1603): docs: show runnable query examples in API documentation
Labeling #26294 (Harshil-1603): docs: explain timestamp timezone comparisons
Labeling #26312 (ozenyunus35): refactor: share the REPLACE and validation steps of the wildcard arms in project_with_validation
Labeling #26344 (ozenyunus35): fix(spark): return NULL from parse_url for a malformed URL unless ANSI
Labeling #26345 (ozenyunus35): fix(spark): decode unbase64 input like Spark's MIME Base64 decoder
Labeling #26346 (ozenyunus35): fix(spark): format_string %s of a DECIMAL and %g like Java's Formatter
Labeling #26350 (DeviousCardi): fix: handle aggregate name collisions from casts
Labeling #26373 (rawsun007): docs: fix SQL examples that the default dialect cannot parse
Labeling #26394 (spicysharkco): fix(spark): normalize -0.0 in atan2 like Spark
Labeling #26432 (ump45nose): fix: return no rows from TopK with LIMIT 0 instead of panicking
Labeling #26443 (ahlag): refactor(unparser): move the Join arm of select_to_sql_recursively into join_to_sql
Labeling #26477 (paoValle): fix: plan ORDER BY on a source column hidden by a select alias
Labeling #26482 (choksi2212): fix: return NULL from bit_xor when a sliding frame has no non-NULL values
Labeling #26489 (Shahzeb-DataEngineer): refactor(spark): deduplicate bucket computation in width_bucket_interval_mdn_exact
Labeling #26494 (charan-rathore): fix: do not treat float min==max Parquet statistics as constant columns
Labeling #26529 (ahlag): fix: plan TRY_CAST struct casts by field name like CAST
Labeling #26531 (ump45nose): perf: create DiskManager Directories mode temp dirs on first spill
Labeling #26551 (princejain756): fix(optimizer): preserve correlated columns when removing filter above SubqueryAlias
Created label 'Prolific Author'
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscribe@datafusion.apache.org
For additional commands, e-mail: github-help@datafusion.apache.org