Nomination Evidence: pohly
Project: kubernetes/kubernetes Period: 2025-03-02 to 2026-03-02
Summary
pohly contributes both code (223 PRs) and reviews (382 reviews), with a strong focus on welcoming newcomers (260 first-timer PR reviews), 33 of 118 authored PRs scored as high-complexity.
Highlights
- 543 commits, 194 PRs merged, 382 PRs reviewed, 2717 review comments | https://github.com/kubernetes/kubernetes/commits?author=pohly
- Drove PR #135940 (webhook admission: avoid risk of flakes), 30 review rounds: https://github.com/kubernetes/kubernetes/pull/135940
- Review on PR #135611 (Fix flake TestDeviceTaintRule test): "It's not clear why this is 20 seconds. One has to know that `ruleStatusPeriod ==......" https://github.com/kubernetes/kubernetes/pull/135611
- PR #128606 (ktesting: abort entire test suite on SIGINT + /dev/tty): 450 days to merge: https://github.com/kubernetes/kubernetes/pull/128606
- Review comment on PR #135395 (apimachinery + client-go + device taint eviction unit test: context-aware Start/WaitFor, waiting through channels): "> Only the initial sync? The usual semantic of
HasSyncedis that once an entity is synced, it remains synced. Calle..." https://github.com/kubernetes/kubernetes/pull/135395
Contribution statistics
Code contributions (GitHub)
- PRs opened: 223
- PRs merged: 194
- Lines added: 166,844
- Lines deleted: 107,231
- Commits: 543
Code review
- PRs reviewed: 382
- Review comments given: 2717
- Issue comments: 1628
- APPROVED: 169 (11%)
- CHANGES_REQUESTED: 84 (5%)
- COMMENTED: 1157 (82%)
Composite score
| Dimension | Score | Notes |
|---|---|---|
| Complexity | 6.0/10 | 33 high-complexity PRs of 118 scored |
| Stewardship | 8.0/10 | 34% maintenance work, 93% consistency |
| Review depth | 8.3/10 | 1.7 comments/review, 31% questions, 180 contributors |
| Composite | 7.4/10 | out of 1195 contributors |
Review relationships
People this contributor reviews most
- bart0sh: 167 reviews
- mortent: 167 reviews
- yliaog: 103 reviews
- sunya-ch: 102 reviews
- KobayashiD27: 62 reviews
- cici37: 36 reviews
- BenTheElder: 34 reviews
- sairameshv: 30 reviews
- dims: 27 reviews
- nojnhuh: 27 reviews
People who review this contributor's PRs most
- liggitt: 92 reviews
- BenTheElder: 82 reviews
- bart0sh: 69 reviews
- nojnhuh: 59 reviews
- aojea: 57 reviews
- hashim21223445: 27 reviews
- elezar: 24 reviews
- michaelasp: 19 reviews
- macsko: 16 reviews
- ldez: 16 reviews
Newcomer welcoming
pohly reviewed 260 PRs from contributors with 3 or fewer PRs in the project, including ttsuuubasa, jacobsee, cnuss, abel-von, herb-duan and 5 others.
Community health profile
Relational metrics: how this contributor strengthens the community beyond code output.
- Net reviewer ratio: 1.7x
- Interaction breadth: 180 unique contributors (concentration: 12%)
- Newcomer welcoming: 260 reviews on PRs from contributors with 3 or fewer PRs
- Names: ttsuuubasa, jacobsee, cnuss, abel-von, herb-duan, rushmash91, rogowski-piotr, Charan3433, aviralgarg05, anson627
- Helping ratio: 55% of GitHub comments directed at others' PRs
- Review depth: 1.7 comments/review, 31% questions (2385 comments on 1410 reviews)
- Stewardship: 34% of work is maintenance (556/1655 PRs: 121 authored, 435 reviewed)
- Consistency: 93% (50/54 weeks active)
- Feedback responsiveness: 25% iteration rate, 58.7h median turnaround, 91% reply rate (104 PRs with feedback)
Complexity of authored work
- PRs scored: 118
- High complexity (>= 0.5): 33
- Low complexity (< 0.5): 85
- Average complexity: 0.329
Highest-complexity authored PRs
- PR #135940 (webhook admission: avoid risk of flakes)
- Complexity score: 0.750
- Probing ratio: 37.5%
- Review rounds: 30
- Probing topics: have happened, sleep randomly
- PR #132927 (DRA API: implement ResourceClaim strategy for DRADeviceTaints)
- Complexity score: 0.747
- Probing ratio: 50.0%
- Review rounds: 10
- Probing topics: prioritizedlist feature, have some tests, resourceclaim strategy
- PR #135732 (DRA: upgrade/downgrade device taints)
- Complexity score: 0.721
- Probing ratio: 40.0%
- Review rounds: 12
- Probing topics: also cleanup this
- PR #132295 (DRA: automated upgrade/downgrade testing)
- Complexity score: 0.714
- Probing ratio: 28.6%
- Review rounds: 32
- Probing topics: embed this in, focus on testing, breaking changes, be doing this
- PR #129832 (DRA: seamless driver upgrades)
- Complexity score: 0.709
- Probing ratio: 27.3%
- Review rounds: 26
- Probing topics: it make sense
Quality of review contributions
Probing review comments (expressing uncertainty, challenging assumptions): 247
Most significant probing reviews (on highest-complexity PRs)
- PR #135940 (webhook admission: avoid risk of flakes, score 0.750)
- Topics: sleep randomly
- Comment: "> for some reason I'm finding that very difficult to reason about ... does that ..."
- PR #135940 (webhook admission: avoid risk of flakes, score 0.750)
- Comment: "More from that Slack thread, regarding what happens in goroutines before `syncte..."
- PR #135611 (Fix flake TestDeviceTaintRule test, score 0.732)
- Comment: "It's not clear why this is 20 seconds. One has to know that `ruleStatusPeriod ==..."
- PR #135611 (Fix flake TestDeviceTaintRule test, score 0.732)
- Comment: "Can you add a comment here explaining why a single worker is used? "
- PR #132295 (DRA: automated upgrade/downgrade testing, score 0.714)
- Topics: embed this in
- Comment: "@aojea wrote: > I don't feel we should embed this in the e2e framework, some li..."
Highest-judgment review comments (on others' PRs)
(Selected by length, technical content, and presence of questions)
- PR #134326 (Add global cache to map between the deviceclass and the extended resource) | https://github.com/kubernetes/kubernetes/pull/134326#discussion_r2478811534
- File:
staging/src/k8s.io/dynamic-resource-allocation/deviceclass/extendedresourcecache/extendedresourcecache.go - "> as i understand it, what you described could happen, but the unscheduled pod will be retried for rescheduling, no? No, an unschedulable pod goes (semi-)permanently into the unschedulable queue until some event occurs which indicates that it might be schedulable now. If that event is missed beca"
- File:
- PR #127260 (Fix TestPersistentVolumeProvisionMultiPVCs) | https://github.com/kubernetes/kubernetes/pull/127260#discussion_r2405215911
- File:
test/integration/volume/persistent_volumes_test.go - "What is the purpose of this
ifbranch? Why does it recreate the watch? Is this perhaps meant to continue polling after the apiserver has closed the watch (which can happen)? Note that it doesn't achieve that: ifwaitErr != nil, then returning it in that lastreturn false, waitErrcauses `Expo"
- File:
- PR #131000 (Added stacktrace and logging for list and watch panics in reflector.go) | https://github.com/kubernetes/kubernetes/pull/131000#discussion_r2066215142
- File:
staging/src/k8s.io/client-go/tools/cache/reflector.go - "I agree that this is the key question. Previously, a hanging or long-running list implementation was handled - somehow. But keeping it running in a goroutine, potentially forever, seems like a gross hack. It's also not clear how the caller reacts when all attempts fail like that. Will it retry and"
- File:
- PR #134165 (e2e_node: ensure pod cleanup in DRA health test) | https://github.com/kubernetes/kubernetes/pull/134165#discussion_r2363529556
- File:
test/e2e_node/dra_test.go - "As you noted, there's not good explanation for what the problem is and why this fixes it. Therefore I am not comfortable with merging this PR - it could be simply a coincidence (perhaps timing related) and the actual problem remains. Speaking of timing, perhaps the different timeouts are the expl"
- File:
- PR #132522 (DRA: Implementation of Consumable Capacity (KEP-5075)) | https://github.com/kubernetes/kubernetes/pull/132522#discussion_r2194706190
- File:
pkg/scheduler/framework/autoscaler_contract/lister_contract_test.go - "Moving PR comments to a thread... > > > Do you think we should also run through all the resource claims in the allocator during allocation? > > I thought we did, but it's actually handled here: https://github.com/kubernetes/kubernetes/blob/master/pkg/scheduler/framework/plugins/dynamicresources/al"
- File:
Area focus
Files touched (authored PRs)
staging/src/k8s.io(3111 files)vendor/github.com/onsi(327 files)test/e2e/dra(106 files)pkg/kubelet/cm(103 files)test/integration/scheduler_perf(78 files)test/e2e/framework(77 files)test/utils/ktesting(73 files)pkg/scheduler/framework(71 files)
Areas reviewed (from PR titles)
- testing (277 PRs)
- storage/log (67 PRs)
- connect (52 PRs)
- metrics (46 PRs)
- controller (39 PRs)
- admin (32 PRs)
- config (19 PRs)
- storage (2 PRs)