Ownership is measured by how many commits each author made to each file in the current tree. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated. The bus factor is the smallest number of people who are, between them, primary owner of more than half of the files.
Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.
| File | Sole owner | Commits |
|---|---|---|
| streams/src/main/java/org/apache/kafka/streams/kstream/internals/SessionWindow.java | Matthias J. Sax | 6 |
| .github/actions/gh-api-update-status/action.yml | David Arthur | 6 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/Acknowledgements.java | Andrew Schofield | 5 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/metrics/NamedCacheMetrics.java | Bruno Cadonna | 5 |
| generator/src/test/java/org/apache/kafka/message/HeaderVersionsTest.java | Alan Lau | 4 |
| clients/src/test/java/org/apache/kafka/common/errors/TransactionExceptionHierarchyTest.java | Kaushik Raina | 4 |
| streams/integration-tests/src/test/java/org/apache/kafka/streams/integration/IQv2HeadersStoreIntegrationTest.java | Jess668 | 4 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/AbstractTransactionBuffer.java | Nick Telford | 4 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/LegacyCheckpointingStateStore.java | Nick Telford | 4 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/EventProcessor.java | Kirk True | 4 |
| File | Sole owner | Commits |
|---|---|---|
| streams/src/main/java/org/apache/kafka/streams/kstream/internals/SessionWindow.java | Matthias J. Sax | 6 |
| .github/actions/gh-api-update-status/action.yml | David Arthur | 6 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/Acknowledgements.java | Andrew Schofield | 5 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/metrics/NamedCacheMetrics.java | Bruno Cadonna | 5 |
| generator/src/test/java/org/apache/kafka/message/HeaderVersionsTest.java | Alan Lau | 4 |
| clients/src/test/java/org/apache/kafka/common/errors/TransactionExceptionHierarchyTest.java | Kaushik Raina | 4 |
| streams/integration-tests/src/test/java/org/apache/kafka/streams/integration/IQv2HeadersStoreIntegrationTest.java | Jess668 | 4 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/AbstractTransactionBuffer.java | Nick Telford | 4 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/LegacyCheckpointingStateStore.java | Nick Telford | 4 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/EventProcessor.java | Kirk True | 4 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/BufferValue.java | John Roesler | 4 |
| group-coordinator/group-coordinator-api/src/main/java/org/apache/kafka/coordinator/group/api/streams/assignor/GroupSpec.java | gabriellafu | 3 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/assignor/CommonAssignorTests.java | Sean Quah | 3 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/modern/GroupSpecBuilderTest.java | Sean Quah | 3 |
| coordinator-common/src/test/java/org/apache/kafka/coordinator/common/runtime/CoordinatorBackgroundThreadPoolExecutorTest.java | Sean Quah | 3 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/assignor/uniform2/IndexedGroup.java | David Jacot | 3 |
| generator/src/main/java/org/apache/kafka/message/CoordinatorRecordTypeGenerator.java | David Jacot | 3 |
| group-coordinator/src/main/resources/common/message/ConsumerGroupCurrentMemberAssignmentKey.json | David Jacot | 3 |
| group-coordinator/src/main/resources/common/message/ConsumerGroupMemberMetadataKey.json | David Jacot | 3 |
| group-coordinator/src/main/resources/common/message/ConsumerGroupMetadataKey.json | David Jacot | 3 |
| group-coordinator/src/main/resources/common/message/ConsumerGroupRegularExpressionKey.json | David Jacot | 3 |
| group-coordinator/src/main/resources/common/message/ConsumerGroupRegularExpressionValue.json | David Jacot | 3 |
| group-coordinator/src/main/resources/common/message/ConsumerGroupTargetAssignmentMemberKey.json | David Jacot | 3 |
| group-coordinator/src/main/resources/common/message/ConsumerGroupTargetAssignmentMetadataKey.json | David Jacot | 3 |
| core/src/test/java/kafka/server/share/ReplicaManagerLogReaderTest.java | Sushant Mahajan | 3 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/ShareConsumerDelegate.java | Andrew Schofield | 3 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/ShareAcknowledgementEvent.java | Andrew Schofield | 3 |
| clients/src/test/java/org/apache/kafka/clients/consumer/internals/AcknowledgementCommitCallbackHandlerTest.java | Andrew Schofield | 3 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/AcknowledgementCommitCallbackHandler.java | Andrew Schofield | 3 |
| clients/src/test/java/org/apache/kafka/clients/consumer/internals/AcknowledgementsTest.java | Andrew Schofield | 3 |
| clients/src/testFixtures/java/org/apache/kafka/test/faultproxy/KafkaProtocolFaultProxy.java | Bill Bejeck | 3 |
| streams/src/main/java/org/apache/kafka/streams/internals/metrics/StreamsThreadMetricsDelegatingReporter.java | Bill Bejeck | 3 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/streams/topics/RepartitionTopics.java | Lucas Brutschy | 3 |
| raft/src/main/java/org/apache/kafka/raft/internals/RemoveVoterHandlerState.java | José Armando García Sancio | 3 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/InMemorySessionTransactionBuffer.java | Nick Telford | 3 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/InMemoryWindowTransactionBuffer.java | Nick Telford | 3 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/InMemoryTransactionBuffer.java | Nick Telford | 3 |
| streams/src/test/java/org/apache/kafka/streams/state/internals/AbstractTransactionBufferTest.java | Nick Telford | 3 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/AllTopicsMetadataEvent.java | Kirk True | 3 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/CompletableBackgroundEvent.java | Kirk True | 3 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/FetchCommittedOffsetsEvent.java | Kirk True | 3 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/TopicMetadataEvent.java | Kirk True | 3 |
| tests/kafkatest/tests/tools/kibosh_test.py | Colin Patrick McCabe | 3 |
| clients/src/main/resources/common/message/ResponseHeader.json | Colin Patrick McCabe | 3 |
| tests/kafkatest/services/trogdor/network_partition_fault_spec.py | Colin Patrick McCabe | 3 |
| tests/kafkatest/tests/tools/trogdor_test.py | Colin Patrick McCabe | 3 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/streams/assignor/RackAwareStandbyPicker.java | gabriellafu | 2 |
| group-coordinator/group-coordinator-api/src/main/java/org/apache/kafka/coordinator/group/api/streams/assignor/GroupAssignment.java | gabriellafu | 2 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/streams/assignor/AssignmentConfigsImpl.java | gabriellafu | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/streams/assignor/AssignmentConfigsImplTest.java | gabriellafu | 2 |
| group-coordinator/group-coordinator-api/src/main/java/org/apache/kafka/coordinator/group/api/streams/assignor/MemberAssignmentMetadata.java | gabriellafu | 2 |
| group-coordinator/group-coordinator-api/src/main/java/org/apache/kafka/coordinator/group/api/streams/assignor/MemberAssignmentState.java | gabriellafu | 2 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/streams/assignor/MemberMetadataAndStateImpl.java | gabriellafu | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/assignor/UniformHomogeneousAssignmentBuilderTest.java | Sean Quah | 2 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/TargetAssignmentRecordsBuilder.java | Sean Quah | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/TargetAssignmentRecordsBuilderTest.java | Sean Quah | 2 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/util/UpdatedMembersAndTargetAssignmentView.java | Sean Quah | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/util/UpdatedMembersAndTargetAssignmentViewTest.java | Sean Quah | 2 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/TargetAssignmentMetadata.java | Sean Quah | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/modern/MemberAssignmentImplTest.java | Sean Quah | 2 |
| coordinator-common/src/test/java/org/apache/kafka/coordinator/common/runtime/DirectEventProcessor.java | Sean Quah | 2 |
| core/src/main/java/kafka/server/share/ReplicaManagerPartitionMetadataProvider.java | Apoorv Mittal | 2 |
| server/src/main/java/org/apache/kafka/server/share/PartitionMetadataProvider.java | Apoorv Mittal | 2 |
| server/src/main/java/org/apache/kafka/server/share/fetch/AcquisitionLockTimeoutHandler.java | Apoorv Mittal | 2 |
| server/src/main/java/org/apache/kafka/server/share/fetch/AcquisitionLockTimerTask.java | Apoorv Mittal | 2 |
| server/src/main/java/org/apache/kafka/server/share/metrics/SharePartitionMetrics.java | Apoorv Mittal | 2 |
| core/src/main/java/kafka/server/share/SharePartitionCache.java | Apoorv Mittal | 2 |
| server/src/main/java/org/apache/kafka/server/share/fetch/ShareAcquiredRecords.java | Apoorv Mittal | 2 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/modern/MemberState.java | Apoorv Mittal | 2 |
| server/src/main/java/org/apache/kafka/server/metrics/ClientMetricsInstanceMetadata.java | Apoorv Mittal | 2 |
| clients/src/test/java/org/apache/kafka/common/telemetry/internals/ClientTelemetryEmitterTest.java | Apoorv Mittal | 2 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/assignor/uniform2/util/IntList.java | David Jacot | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/assignor/uniform2/util/IntListTest.java | David Jacot | 2 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/assignor/uniform2/CurrentAssignment.java | David Jacot | 2 |
| group-coordinator/src/main/java/org/apache/kafka/coordinator/group/assignor/uniform2/Quotas.java | David Jacot | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/assignor/uniform2/QuotasFixture.java | David Jacot | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/assignor/uniform2/CurrentAssignmentTest.java | David Jacot | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/assignor/uniform2/IndexedGroupTest.java | David Jacot | 2 |
| server/src/main/java/org/apache/kafka/server/share/dlq/ShareGroupDLQMetadataCacheHelper.java | Sushant Mahajan | 2 |
| server/src/main/java/org/apache/kafka/server/share/dlq/ShareGroupDLQRecordParameter.java | Sushant Mahajan | 2 |
| share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorOffsetsManager.java | Sushant Mahajan | 2 |
| generator/src/main/java/org/apache/kafka/message/HeaderVersions.java | Alan Lau | 2 |
| clients/src/test/java/org/apache/kafka/clients/admin/ListGroupsOptionsTest.java | Andrew Schofield | 2 |
| clients/src/main/java/org/apache/kafka/clients/consumer/internals/events/ShareSubscriptionChangeEvent.java | Andrew Schofield | 2 |
| clients/src/test/java/org/apache/kafka/test/faultproxy/KafkaProtocolFaultProxyTest.java | Bill Bejeck | 2 |
| streams/integration-tests/src/test/java/org/apache/kafka/streams/integration/SourceTopicChangelogRestoreIntegrationTest.java | Bill Bejeck | 2 |
| streams/src/test/java/org/apache/kafka/streams/state/internals/ThrowingOnOffsetsPutDBAccessor.java | Bill Bejeck | 2 |
| streams/src/main/java/org/apache/kafka/streams/kstream/internals/GroupedInternal.java | Bill Bejeck | 2 |
| server/src/main/java/org/apache/kafka/server/DefaultAutoTopicCreationManager.java | Kuan-Po Tseng | 2 |
| server/src/main/java/org/apache/kafka/server/transaction/AddPartitionsToTxnManager.java | Kuan-Po Tseng | 2 |
| streams/integration-tests/src/test/java/org/apache/kafka/streams/integration/StreamsGroupWarmupTaskLifecycleIntegrationTest.java | Lucas Brutschy | 2 |
| core/src/test/java/kafka/server/FailingTopologyDescriptionPlugin.java | Lucas Brutschy | 2 |
| group-coordinator/src/test/java/org/apache/kafka/coordinator/group/streams/assignor/BalancedTaskAssignorTest.java | Gavin Wang | 2 |
| server-common/src/main/java/org/apache/kafka/security/DelegationTokenManager.java | Maros Orsak | 2 |
| metadata/src/main/java/org/apache/kafka/metadata/publisher/ScramPublisher.java | Maros Orsak | 2 |
| clients/src/main/java/org/apache/kafka/common/requests/StreamsGroupTopologyDescriptionUpdateRequest.java | Alieh Saeedi | 2 |
| streams/src/test/java/org/apache/kafka/streams/kstream/internals/TimestampedCacheFlushListenerWithHeadersTest.java | Alieh Saeedi | 2 |
| streams/src/test/java/org/apache/kafka/test/GenericInMemoryTimestampedKeyValueStoreWithHeaders.java | Alieh Saeedi | 2 |
| streams/src/main/java/org/apache/kafka/streams/state/internals/ValueConverters.java | Alieh Saeedi | 2 |
| server/src/main/java/org/apache/kafka/server/AuthHelper.java | PoAn Yang | 2 |
Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.
| Author | Files owned | Solely owned | Files touched |
|---|---|---|---|
| gongxuanzhang | 651 | 0 | 2,137 |
| Matthias J. Sax | 465 | 27 | 1,613 |
| ashwinpankaj | 426 | 41 | 947 |
| Mickael Maison | 365 | 96 | 1,618 |
| Colin Patrick McCabe | 289 | 61 | 1,054 |
| Jason Gustafson | 262 | 15 | 929 |
| Ismael Juma | 231 | 9 | 1,387 |
| PoAn Yang | 216 | 124 | 954 |
| David Jacot | 177 | 58 | 705 |
| majialong | 176 | 9 | 466 |
| Sanskar Jhajharia | 156 | 20 | 1,188 |
| Andrew Schofield | 149 | 35 | 532 |
| TengYao Chi | 148 | 49 | 780 |
| Ken Huang | 133 | 65 | 1,005 |
| Greg Harris | 117 | 86 | 299 |
| John Roesler | 116 | 26 | 650 |
| Guozhang Wang | 108 | 19 | 712 |
| José Armando García Sancio | 107 | 11 | 353 |
| Kirk True | 106 | 48 | 311 |
| Apoorv Mittal | 105 | 44 | 353 |
| Chris Egerton | 96 | 13 | 326 |
| Sushant Mahajan | 96 | 14 | 213 |
| Lianet Magrans | 90 | 44 | 474 |
| Lucas Brutschy | 87 | 9 | 353 |
| Rajini Sivaram | 83 | 6 | 465 |
Files touched by the most people — shared code where changes are most likely to need coordination.
| File | Contributors | Primary owner | Owner share |
|---|---|---|---|
| build.gradle | 208 | Ismael Juma | 15.4% |
| core/src/main/scala/kafka/server/KafkaConfig.scala | 167 | Ismael Juma | 6.2% |
| core/src/main/scala/kafka/server/KafkaApis.scala | 138 | Jason Gustafson | 8.3% |
| gradle/dependencies.gradle | 131 | Ismael Juma | 24.0% |
| clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java | 128 | Jason Gustafson | 18.0% |
| checkstyle/suppressions.xml | 119 | Colin Patrick McCabe | 10.2% |
| core/src/test/scala/unit/kafka/utils/TestUtils.scala | 118 | Ismael Juma | 10.3% |
| core/src/main/scala/kafka/server/ReplicaManager.scala | 117 | Jason Gustafson | 10.1% |
| clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java | 114 | Jason Gustafson | 8.4% |
| checkstyle/import-control.xml | 109 | Colin Patrick McCabe | 11.4% |
| core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala | 106 | Ismael Juma | 7.6% |
| core/src/test/scala/unit/kafka/server/KafkaApisTest.scala | 102 | David Jacot | 12.4% |
| clients/src/main/java/org/apache/kafka/clients/admin/KafkaAdminClient.java | 101 | Colin Patrick McCabe | 8.3% |
| core/src/test/scala/unit/kafka/server/ReplicaManagerTest.scala | 100 | Ismael Juma | 8.7% |
| core/src/main/scala/kafka/cluster/Partition.scala | 96 | Jason Gustafson | 11.3% |
| streams/src/main/java/org/apache/kafka/streams/StreamsConfig.java | 96 | Matthias J. Sax | 22.7% |
| clients/src/main/java/org/apache/kafka/common/utils/Utils.java | 88 | Ismael Juma | 12.3% |
| clients/src/test/java/org/apache/kafka/clients/consumer/KafkaConsumerTest.java | 87 | Jason Gustafson | 9.1% |
| clients/src/test/java/org/apache/kafka/common/requests/RequestResponseTest.java | 86 | David Jacot | 10.4% |
| clients/src/test/java/org/apache/kafka/clients/admin/KafkaAdminClientTest.java | 85 | Jason Gustafson | 7.6% |
How Apache Kafka compares with other Apache projects →
How Apache Kafka ranks among Apache projects by AI-assisted commits →
Generate this report for your own repository with gitstats-action · All Gallery reports
Publishes the report to GitHub Pages on every push to main: turn on Pages for the gh-pages branch.
# .github/workflows/gitstats.yml
name: GitStats Report
on:
push:
branches: [main]
permissions:
contents: write
jobs:
gitstats:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- uses: shenxianpeng/gitstats-action@v1
with:
deploy-to-pages: true