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
2,776
in the current tree
Bus Factor
7
7 authors are primary owner of 1,461 of 2,776 files
Single-Owner Files
1,127
40.6% of tracked files
Contributors
636
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
broker/src/main/java/org/apache/rocketmq/broker/lite/LiteEventDispatcher.javaQuan8
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/index/IndexStoreServiceTest.javalizhimins8
client/src/main/java/org/apache/rocketmq/client/utils/MessageUtil.javaEason Chen8
broker/src/test/java/org/apache/rocketmq/broker/processor/PopLiteMessageProcessorTest.javaQuan7
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/FileSegment.javalizhimins7
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/PosixFileSegment.javalizhimins7
client/src/main/java/org/apache/rocketmq/client/consumer/listener/MessageListenerConcurrently.javayukon7
client/src/main/java/org/apache/rocketmq/client/consumer/PullCallback.javayukon7
broker/src/test/java/org/apache/rocketmq/broker/lite/LiteEventDispatcherTest.javaQuan6
broker/src/main/java/org/apache/rocketmq/broker/client/ClientChannelInfo.javayukon6
Table: the 100 most-changed of 1,127 single-owner files
FileSole ownerCommits
broker/src/main/java/org/apache/rocketmq/broker/lite/LiteEventDispatcher.javaQuan8
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/index/IndexStoreServiceTest.javalizhimins8
client/src/main/java/org/apache/rocketmq/client/utils/MessageUtil.javaEason Chen8
broker/src/test/java/org/apache/rocketmq/broker/processor/PopLiteMessageProcessorTest.javaQuan7
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/FileSegment.javalizhimins7
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/PosixFileSegment.javalizhimins7
client/src/main/java/org/apache/rocketmq/client/consumer/listener/MessageListenerConcurrently.javayukon7
client/src/main/java/org/apache/rocketmq/client/consumer/PullCallback.javayukon7
broker/src/test/java/org/apache/rocketmq/broker/lite/LiteEventDispatcherTest.javaQuan6
broker/src/main/java/org/apache/rocketmq/broker/client/ClientChannelInfo.javayukon6
client/src/main/java/org/apache/rocketmq/client/consumer/listener/ConsumeOrderlyContext.javayukon6
client/src/main/java/org/apache/rocketmq/client/consumer/listener/MessageListener.javayukon6
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/core/MessageStoreFetcherImplTest.javalizhimins5
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/file/FlatCommitLogFile.javalizhimins5
broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerRocksdbStore.javalizhimins5
store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/BrokerMetadata.javaTheR1sing3un5
common/src/main/java/org/apache/rocketmq/common/utils/HttpTinyClient.javayukon5
client/src/main/java/org/apache/rocketmq/client/QueryResult.javayukon5
client/src/main/java/org/apache/rocketmq/client/admin/MQAdminExtInner.javayukon5
client/src/main/java/org/apache/rocketmq/client/consumer/AllocateMessageQueueStrategy.javayukon5
client/src/main/java/org/apache/rocketmq/client/consumer/PullStatus.javayukon5
client/src/main/java/org/apache/rocketmq/client/consumer/listener/ConsumeConcurrentlyContext.javayukon5
client/src/main/java/org/apache/rocketmq/client/consumer/listener/ConsumeConcurrentlyStatus.javayukon5
client/src/main/java/org/apache/rocketmq/client/consumer/listener/ConsumeOrderlyStatus.javayukon5
client/src/main/java/org/apache/rocketmq/client/hook/CheckForbiddenHook.javayukon5
client/src/main/java/org/apache/rocketmq/client/hook/FilterMessageHook.javayukon5
client/src/main/java/org/apache/rocketmq/client/impl/CommunicationMode.javayukon5
client/src/main/java/org/apache/rocketmq/client/producer/LocalTransactionState.javayukon5
client/src/main/java/org/apache/rocketmq/client/producer/MessageQueueSelector.javayukon5
client/src/main/java/org/apache/rocketmq/client/producer/SendStatus.javayukon5
client/src/main/java/org/apache/rocketmq/client/producer/TransactionSendResult.javayukon5
client/src/main/java/org/apache/rocketmq/client/producer/selector/SelectMessageQueueByMachineRoom.javayukon5
common/src/main/java/org/apache/rocketmq/common/ServiceState.javayukon5
common/src/main/java/org/apache/rocketmq/common/consumer/ConsumeFromWhere.javayukon5
common/src/main/java/org/apache/rocketmq/common/message/MessageId.javayukon5
common/src/main/java/org/apache/rocketmq/common/message/MessageQueueForC.javayukon5
common/src/main/java/org/apache/rocketmq/common/namesrv/NamesrvUtil.javayukon5
namesrv/src/main/java/org/apache/rocketmq/namesrv/kvconfig/KVConfigSerializeWrapper.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/CommandCustomHeader.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/annotation/CFNullable.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/common/SemaphoreReleaseOnlyOnce.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/exception/RemotingCommandException.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/exception/RemotingException.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/exception/RemotingSendRequestException.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/exception/RemotingTimeoutException.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/exception/RemotingTooMuchRequestException.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyEvent.javayukon5
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingCommandType.javayukon5
store/src/main/java/org/apache/rocketmq/store/ReferenceResource.javayukon5
store/src/main/java/org/apache/rocketmq/store/config/BrokerRole.javayukon5
store/src/main/java/org/apache/rocketmq/store/config/FlushDiskType.javayukon5
store/src/main/java/org/apache/rocketmq/store/index/QueryOffsetResult.javayukon5
broker/src/main/java/org/apache/rocketmq/broker/lite/LiteSubscriptionRegistry.javaQuan4
broker/src/test/java/org/apache/rocketmq/broker/processor/LiteManagerProcessorTest.javaQuan4
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/file/FlatCommitLogFileTest.javalizhimins4
container/src/main/java/org/apache/rocketmq/container/InnerSalveBrokerController.javarongtong4
store/src/main/java/org/apache/rocketmq/store/ha/autoswitch/TempBrokerMetadata.javaTheR1sing3un4
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/ApplyBrokerIdResponseHeader.javaTheR1sing3un4
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/controller/register/GetNextBrokerIdResponseHeader.javaTheR1sing3un4
client/src/main/java/org/apache/rocketmq/client/consumer/PullTaskCallback.javayukon4
client/src/main/java/org/apache/rocketmq/client/consumer/listener/ConsumeReturnType.javayukon4
client/src/main/java/org/apache/rocketmq/client/hook/CheckForbiddenContext.javayukon4
client/src/main/java/org/apache/rocketmq/client/hook/FilterMessageContext.javayukon4
common/src/main/java/org/apache/rocketmq/common/SystemClock.javayukon4
common/src/main/java/org/apache/rocketmq/common/sysflag/SubscriptionSysFlag.javayukon4
common/src/main/java/org/apache/rocketmq/common/utils/ChannelUtil.javayukon4
remoting/src/main/java/org/apache/rocketmq/remoting/annotation/CFNotNull.javayukon4
client/src/test/java/org/apache/rocketmq/client/utils/MessageUtilsTest.javaEason Chen4
broker/src/test/java/org/apache/rocketmq/broker/processor/RecallMessageProcessorTest.javaimzs3
broker/src/main/java/org/apache/rocketmq/broker/lite/LiteLifecycleManager.javaQuan3
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/provider/FileSegmentTest.javalizhimins3
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/FileSegmentFactory.javalizhimins3
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/file/FlatAppendFileTest.javalizhimins3
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/MessageStoreExecutor.javalizhimins3
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/file/FlatFileFactory.javalizhimins3
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/file/FlatFileStoreTest.javalizhimins3
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/index/IndexStoreServiceBenchTest.javalizhimins3
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/MemoryFileSegment.javalizhimins3
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/common/GetMessageResultExt.javalizhimins3
distribution/conf/container/2container-2m-2s/broker-a-in-container1.confrongtong3
distribution/conf/container/2container-2m-2s/broker-a-in-container2.confrongtong3
distribution/conf/container/2container-2m-2s/broker-b-in-container1.confrongtong3
distribution/conf/container/2container-2m-2s/broker-b-in-container2.confrongtong3
proxy/src/main/java/org/apache/rocketmq/proxy/grpc/pipeline/AuthenticationPipeline.javadingshuangxi8883
auth/src/main/java/org/apache/rocketmq/auth/migration/AuthMigrator.javadingshuangxi8883
auth/src/main/java/org/apache/rocketmq/auth/authentication/chain/DefaultAuthenticationHandler.javadingshuangxi8883
broker/src/main/java/org/apache/rocketmq/broker/config/v2/TopicConfigManagerV2.javaZhanhui Li3
common/src/main/java/org/apache/rocketmq/common/config/ConfigHelper.javaZhanhui Li3
tools/src/main/java/org/apache/rocketmq/tools/command/queue/CheckRocksdbCqWriteProgressCommand.javaLetLetMe3
common/src/test/java/org/apache/rocketmq/common/KeyBuilderTest.javaZhouxiang Zhan3
test/src/test/java/org/apache/rocketmq/test/client/consumer/pop/BasePopOrderly.javalk3
.github/workflows/stale.ymlAaron Ai3
remoting/src/test/resources/certs/client.pemyukon3
remoting/src/test/resources/certs/server.pemyukon3
openmessaging/src/test/java/io/openmessaging/rocketmq/consumer/LocalMessageCacheTest.javayukon3
broker/src/main/java/org/apache/rocketmq/broker/mqtrace/ConsumeMessageHook.javayukon3
client/src/main/java/org/apache/rocketmq/client/consumer/PullTaskContext.javayukon3
client/src/main/java/org/apache/rocketmq/client/consumer/store/ReadOffsetType.javayukon3
client/src/main/java/org/apache/rocketmq/client/hook/ConsumeMessageHook.javayukon3
client/src/main/java/org/apache/rocketmq/client/hook/SendMessageHook.javayukon3

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
yukon41589744
rongtong24950579
dingshuangxi888238137394
dongeforever165124394
SSpirits158140678
lizhimins11968288
Zhanhui Li11734333
Aaron Ai1156449
Zhouxiang Zhan10945373
kaiyi.lk10215190
Quan7254255
mxsm6431377
Xiao Yang6331287
qianye5123185
Eric Liu459107
TheR1sing3un4416111
lk349157
zhangjidi2016291376
yulangz241357
ltamber22989
shroman210132
imzs2111108
zhaohai211665
我是管小亮_V0x3f191419
stevenschew18235

Showing top 25 of 636 contributors.

Most shared files

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

FileContributorsPrimary ownerOwner share
pom.xml85誓嘉42.9%
store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java77rongtong11.4%
broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java71rongtong13.5%
client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java69rongtong6.6%
client/src/main/java/org/apache/rocketmq/client/impl/producer/DefaultMQProducerImpl.java68yukon8.8%
broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java64rongtong17.2%
store/src/main/java/org/apache/rocketmq/store/CommitLog.java63rongtong13.5%
common/src/main/java/org/apache/rocketmq/common/BrokerConfig.java54rongtong12.9%
client/src/main/java/org/apache/rocketmq/client/impl/factory/MQClientInstance.java53yukon13.0%
common/src/main/java/org/apache/rocketmq/common/MixAll.java50yukon14.1%
README.md47誓嘉35.7%
store/src/main/java/org/apache/rocketmq/store/config/MessageStoreConfig.java47rongtong16.0%
tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java47yukon9.7%
remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java47yukon15.2%
client/src/main/java/org/apache/rocketmq/client/producer/DefaultMQProducer.java47yukon11.7%
broker/src/main/java/org/apache/rocketmq/broker/topic/TopicConfigManager.java39yukon10.8%
tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java38rongtong10.1%
broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java38rongtong12.7%
client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java38yukon12.0%
tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExt.java38rongtong11.1%