Code Ownership

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 Tracked
6,352
in the current tree
Bus Factor
3
3 authors are primary owner of 4,196 of 6,352 files
Single-Owner Files
2,053
32.3% of tracked files
Contributors
523
authors who changed files

Bus factor risk — single-owner files

Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.

FileSole ownerCommits
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableCheckpointConsumer.javaMatteo Merli13
pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryAttributes.javaDragos Misca13
pulsar-client-admin-api/src/main/java/org/apache/pulsar/client/admin/ScalableTopics.javaMatteo Merli11
tests/performance/AGENTS.mdLari Hotari11
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MultiTopicStreamConsumer.javaMatteo Merli10
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/StreamConsumerBuilderV5.javaMatteo Merli10
pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/metadata/TxnMetadataStore.javaMatteo Merli10
tests/performance/scenarios/docs/iot-telemetry.mdLari Hotari10
tests/performance/launcher/src/main/java/org/apache/pulsar/tests/performance/launcher/PerformanceLauncher.javaLari Hotari10
tests/performance/tools/src/main/java/org/apache/pulsar/tests/performance/tools/IotScenario.javaLari Hotari10
Table: the 100 most-changed of 2,053 single-owner files
FileSole ownerCommits
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableCheckpointConsumer.javaMatteo Merli13
pulsar-opentelemetry/src/main/java/org/apache/pulsar/opentelemetry/OpenTelemetryAttributes.javaDragos Misca13
pulsar-client-admin-api/src/main/java/org/apache/pulsar/client/admin/ScalableTopics.javaMatteo Merli11
tests/performance/AGENTS.mdLari Hotari11
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MultiTopicStreamConsumer.javaMatteo Merli10
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/StreamConsumerBuilderV5.javaMatteo Merli10
pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/metadata/TxnMetadataStore.javaMatteo Merli10
tests/performance/scenarios/docs/iot-telemetry.mdLari Hotari10
tests/performance/launcher/src/main/java/org/apache/pulsar/tests/performance/launcher/PerformanceLauncher.javaLari Hotari10
tests/performance/tools/src/main/java/org/apache/pulsar/tests/performance/tools/IotScenario.javaLari Hotari10
tests/performance/tools/src/main/java/org/apache/pulsar/tests/performance/tools/TelemetryConsumer.javaLari Hotari10
tests/performance/tools/src/main/java/org/apache/pulsar/tests/performance/tools/TelemetryProducer.javaLari Hotari10
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MultiTopicQueueConsumer.javaMatteo Merli9
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/QueueConsumerBuilderV5.javaMatteo Merli9
tests/performance/scenarios/README.mdLari Hotari9
tests/performance/docs/run-reports.mdLari Hotari9
tests/integration/src/test/java/org/apache/pulsar/tests/integration/profiling/AbstractPulsarProfilingTest.javaLari Hotari9
pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/buffer/impl/MetadataTransactionBufferTest.javaMatteo Merli8
pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/metadata/TxnPaths.javaMatteo Merli8
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/SegmentLayout.javaMatteo Merli8
tests/performance/launcher/build.gradle.ktsLari Hotari8
tests/performance/report-tool/src/main/java/org/apache/pulsar/tests/performance/report/RunReport.javaLari Hotari8
tests/performance/tools/src/test/java/org/apache/pulsar/tests/performance/tools/IotScenarioTest.javaLari Hotari8
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/SegmentLayoutTest.javaMatteo Merli7
tests/performance/report-tool/src/test/java/org/apache/pulsar/tests/performance/report/RunReportTest.javaLari Hotari7
tests/performance/docs/running-scenarios.mdLari Hotari7
build-logic/conventions/src/main/kotlin/pulsar.publish-conventions.gradle.ktsLari Hotari7
pip/pip-478.mdLari Hotari7
pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/filter/BrokerFilter.javaKai Wang7
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/CheckpointConsumerBuilderV5.javaMatteo Merli6
pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/metadata/TxnMetadataStoreTest.javaMatteo Merli6
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ClientSegmentLayout.javaMatteo Merli6
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/QueueConsumerBuilder.javaMatteo Merli6
tests/performance/launcher/src/main/java/org/apache/pulsar/tests/performance/launcher/TopicStatsSampler.javaLari Hotari6
tests/integration/src/test/java/org/apache/pulsar/tests/integration/profiling/PulsarProfilingConfig.javaLari Hotari6
.github/actions/upload-coverage/action.ymlLari Hotari6
bin/pulsar-shellNicolò Boschi6
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableTopicsWatcher.javaMatteo Merli5
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ConsumerSession.javaMatteo Merli5
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/CheckpointConsumerBuilder.javaMatteo Merli5
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/StreamConsumerBuilder.javaMatteo Merli5
pulsar-broker/src/test/java/org/apache/pulsar/client/api/v5/V5EntryBucketDispatchTest.javaMatteo Merli5
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/SegmentRouter.javaMatteo Merli5
managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/cache/RangeCacheTest.javaLari Hotari5
tests/performance/launcher/src/test/java/org/apache/pulsar/tests/performance/launcher/ScenarioFilesTest.javaLari Hotari5
tests/performance/scenarios/docs/scenario-format.mdLari Hotari5
tests/performance/tools/src/main/java/org/apache/pulsar/tests/performance/tools/DeviceSequenceTracker.javaLari Hotari5
tests/performance/docs/analyzing-profiles.mdLari Hotari5
build-logic/conventions/src/main/kotlin/pulsar.nar-conventions.gradle.ktsLari Hotari5
.github/actions/ssh-access/action.ymlLari Hotari5
pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitState.javaHeesung Sohn5
pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateTest.javaHeesung Sohn5
pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/PulsarBrokerOpenTelemetry.javaDragos Misca5
pulsar-broker/src/test/java/org/apache/pulsar/client/api/v5/V5TransactionTest.javaMatteo Merli4
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/DagWatchClientTest.javaMatteo Merli4
pulsar-broker/src/main/java/org/apache/pulsar/broker/transaction/pendingack/impl/MetadataPendingAckStore.javaMatteo Merli4
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/ScalableTopicMetadata.javaMatteo Merli4
pulsar-client-admin-api/src/test/java/org/apache/pulsar/common/policies/data/ScalableTopicMetadataTest.javaMatteo Merli4
pulsar-common/src/test/java/org/apache/pulsar/common/protocol/CommandsScalableTopicTest.javaMatteo Merli4
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/SegmentRouterTest.javaMatteo Merli4
pulsar-common/src/main/java/org/apache/pulsar/common/scalable/SegmentInfo.javaMatteo Merli4
pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MigrationCoordinatorTest.javaMatteo Merli4
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/SharedPulsarBaseTest.javaMatteo Merli4
pulsar-broker/src/main/java/org/apache/pulsar/broker/delayed/bucket/BucketSnapshotStorage.javaCong Zhao4
tests/performance/launcher/src/main/java/org/apache/pulsar/tests/performance/launcher/ClusterSettings.javaLari Hotari4
tests/performance/launcher/src/test/java/org/apache/pulsar/tests/performance/launcher/ClusterSettingsTest.javaLari Hotari4
tests/performance/launcher/src/test/java/org/apache/pulsar/tests/performance/launcher/RemoteApplicationsTest.javaLari Hotari4
tests/performance/environment/README.mdLari Hotari4
tests/performance/launcher/src/main/java/org/apache/pulsar/tests/performance/launcher/ProgressMonitor.javaLari Hotari4
tests/performance/launcher/src/test/java/org/apache/pulsar/tests/performance/launcher/ProgressMonitorTest.javaLari Hotari4
tests/performance/report-tool/src/main/java/org/apache/pulsar/tests/performance/report/ComparisonCharts.javaLari Hotari4
tests/performance/tools/src/test/java/org/apache/pulsar/tests/performance/tools/DeviceSequenceTrackerTest.javaLari Hotari4
pip/pip-31.mdLari Hotari4
pip/pip-39.mdLari Hotari4
pip/pip-40.mdLari Hotari4
tests/performance/docs/comparing-revisions.mdLari Hotari4
tests/performance/tools/src/main/java/org/apache/pulsar/tests/performance/tools/PerformanceTool.javaLari Hotari4
tests/performance/report-tool/build.gradle.ktsLari Hotari4
tests/integration/src/test/java/org/apache/pulsar/tests/integration/profiling/PulsarProfilingConfigTest.javaLari Hotari4
tests/integration/src/test/java/org/apache/pulsar/tests/integration/profiling/PulsarProfilingV4Test.javaLari Hotari4
build-logic/conventions/src/main/kotlin/pulsar.public-java-library-conventions.gradle.ktsLari Hotari4
pulsar-broker/src/test/java/org/apache/pulsar/PrometheusMetricsTestUtil.javaLari Hotari4
pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth/v5/V5AuthContexts.javaLari Hotari4
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/tls/TlsFactorySupport.javaLari Hotari4
src/update_python_protobuf_stubs_with_docker.shLari Hotari4
.github/actions/clean-disk/action.ymlLari Hotari4
pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/filter/BrokerLoadManagerClassFilter.javaKai Wang4
tests/integration/src/test/resources/pulsar-plugin.xmlAndras Beni4
pulsar-broker/src/test/java/org/apache/pulsar/client/api/v5/V5ScalableTopicAutoCreateTest.javaMatteo Merli3
pulsar-broker/src/test/java/org/apache/pulsar/broker/resources/ScalableTopicPropertyIndexTest.javaMatteo Merli3
pulsar-metadata/src/main/java/org/apache/pulsar/metadata/api/ScanConsumer.javaMatteo Merli3
pulsar-metadata/src/test/java/org/apache/pulsar/metadata/OxiaPartitionKeyTest.javaMatteo Merli3
pulsar-metadata/src/test/java/org/apache/pulsar/metadata/MetadataStoreSecondaryIndexTest.javaMatteo Merli3
pulsar-broker/src/test/java/org/apache/pulsar/broker/transaction/pendingack/impl/MetadataPendingAckStoreTest.javaMatteo Merli3
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/ScalableTopicMetadata.javaMatteo Merli3
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/ConsumerSessionTest.javaMatteo Merli3
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/CheckpointV5.javaMatteo Merli3
pulsar-broker/src/test/java/org/apache/pulsar/client/api/v5/V5AutoRebucketTest.javaMatteo Merli3
pulsar-broker/src/test/java/org/apache/pulsar/client/api/v5/V5CheckpointConsumerGroupTest.javaMatteo Merli3
pulsar-broker/src/test/java/org/apache/pulsar/client/api/v5/V5MultiTopicStreamConsumerTest.javaMatteo Merli3

Ownership by author

Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.

AuthorFiles ownedSolely ownedFiles touched
Lari Hotari1,5639973,233
Matteo Merli1,4423343,111
tison1,19163,125
fengyubiao12725620
Boyang Jerry Peng1176459
Zixuan Liu11244536
Penghui Li10239697
congbo883442
Sanjeev Kulkarni829304
Rajan Dhabalia755675
Michael Marshall7228439
Sijie Guo654726
Yunze Xu5915541
Kai Wang5528218
xiaolong ran5512197
Heesung Sohn5214210
Qiang Zhao5026296
Zike Yang4940192
Jiwei Guo4433476
void-ptr9744328148
Cong Zhao4218285
Xiangying Meng409256
Ivan Kelly3930267
Dragos Misca3829278
Praveen Kumar3715980

Showing top 25 of 523 contributors.

Most shared files

Files touched by the most people — shared code where changes are most likely to need coordination.

FileContributorsPrimary ownerOwner share
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java103fengyubiao9.2%
conf/broker.conf103Rajan Dhabalia12.6%
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ServiceConfiguration.java102Rajan Dhabalia12.0%
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java97Matteo Merli12.6%
pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java95Matteo Merli10.9%
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java94feynmanlin9.6%
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/ServerCnx.java88Matteo Merli13.4%
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java79Matteo Merli12.6%
pulsar-broker/src/main/java/org/apache/pulsar/broker/PulsarService.java76Lari Hotari13.1%
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/NamespacesBase.java75feynmanlin10.0%
conf/standalone.conf72Rajan Dhabalia17.6%
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.java71Matteo Merli13.1%
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/PersistentTopics.java70feynmanlin16.7%
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java68Matteo Merli16.7%
pulsar-client/src/main/java/org/apache/pulsar/client/impl/ProducerImpl.java66Matteo Merli16.3%
pulsar-broker/src/main/java/org/apache/pulsar/broker/namespace/NamespaceService.java62Matteo Merli17.0%
pulsar-client/src/main/java/org/apache/pulsar/client/impl/PulsarClientImpl.java61Matteo Merli21.7%
pulsar-client/src/main/java/org/apache/pulsar/client/impl/MultiTopicsConsumerImpl.java61Penghui Li9.7%
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/AdminResource.java60Rajan Dhabalia10.2%
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/Namespaces.java60feynmanlin12.6%