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
8,718
in the current tree
Bus Factor
7
7 authors are primary owner of 4,389 of 8,718 files
Single-Owner Files
3,451
39.6% of tracked files
Contributors
566
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
src/java/org/apache/cassandra/cql3/constraints/UnaryFunctionColumnConstraint.javaStefan Miklosovic7
conf/jvm17-clients.optionsEkaterina Dimitrova7
test/unit/org/apache/cassandra/cql3/validation/miscellaneous/PreparedStatementTest.javaJaydeepkumar Chovatia6
.build/docker/_build-debian.shmck5
src/java/org/apache/cassandra/cql3/constraints/AbstractFunctionConstraint.javaStefan Miklosovic5
src/java/org/apache/cassandra/cql3/constraints/NotNullConstraint.javaStefan Miklosovic5
src/java/org/apache/cassandra/config/AccordConfig.javaBenedict Elliott Smith5
test/distributed/org/apache/cassandra/service/accord/journal/AccordJournalBurnTest.javaBenedict Elliott Smith5
src/java/org/apache/cassandra/service/accord/RangeIndex.javaBenedict Elliott Smith5
src/java/org/apache/cassandra/tcm/listeners/UpgradeMigrationListener.javaSam Tunnicliffe5
Table: the 100 most-changed of 3,451 single-owner files
FileSole ownerCommits
src/java/org/apache/cassandra/cql3/constraints/UnaryFunctionColumnConstraint.javaStefan Miklosovic7
conf/jvm17-clients.optionsEkaterina Dimitrova7
test/unit/org/apache/cassandra/cql3/validation/miscellaneous/PreparedStatementTest.javaJaydeepkumar Chovatia6
.build/docker/_build-debian.shmck5
src/java/org/apache/cassandra/cql3/constraints/AbstractFunctionConstraint.javaStefan Miklosovic5
src/java/org/apache/cassandra/cql3/constraints/NotNullConstraint.javaStefan Miklosovic5
src/java/org/apache/cassandra/config/AccordConfig.javaBenedict Elliott Smith5
test/distributed/org/apache/cassandra/service/accord/journal/AccordJournalBurnTest.javaBenedict Elliott Smith5
src/java/org/apache/cassandra/service/accord/RangeIndex.javaBenedict Elliott Smith5
src/java/org/apache/cassandra/tcm/listeners/UpgradeMigrationListener.javaSam Tunnicliffe5
test/unit/org/apache/cassandra/index/sai/metrics/IndexGroupMetricsTest.javaMike Adamson5
src/java/org/apache/cassandra/service/accord/debug/DebugExecution.javaBenedict Elliott Smith4
src/java/org/apache/cassandra/service/accord/InMemoryRangeIndex.javaBenedict Elliott Smith4
src/java/org/apache/cassandra/service/accord/journal/JournalRangeIndex.javaBenedict Elliott Smith4
test/unit/org/apache/cassandra/db/guardrails/GuardrailReadBeforeWriteListOperationsTest.javaAndrés de la Peña4
test/unit/org/apache/cassandra/db/guardrails/GuardrailUserTimestampsTest.javaAndrés de la Peña4
test/unit/org/apache/cassandra/index/sai/cql/intersection/RandomIntersectionTester.javaCaleb Rackliffe4
src/java/org/apache/cassandra/gms/NewGossiper.javaSam Tunnicliffe4
src/java/org/apache/cassandra/tools/TransformClusterMetadataHelper.javaSam Tunnicliffe4
doc/modules/cassandra/pages/reference/cql-commands/create-custom-index.adocLorina Poland4
test/unit/org/apache/cassandra/index/sai/utils/AbstractPrimaryKeyTester.javaMike Adamson4
test/conf/datacenters.propertiesJonathan Ellis4
test/resources/nodetool/help/invalidatepermissionscacheMaxim Muzafarov3
test/unit/org/apache/cassandra/tools/nodetool/NodetoolHelpGenerator.javaMaxim Muzafarov3
.build/ci/ci_parser.pymck3
.github/workflows/jenkins-check.yamlmck3
.build/docker/build-redhat.shmck3
.build/docker/_docker_init_tests.shmck3
test/unit/org/apache/cassandra/utils/CompressionDictionaryHelper.javaStefan Miklosovic3
src/java/org/apache/cassandra/cql3/constraints/UnaryConstraintFunction.javaStefan Miklosovic3
src/java/org/apache/cassandra/service/snapshot/TakeSnapshotTask.javaStefan Miklosovic3
src/java/org/apache/cassandra/cql3/constraints/AbstractFunctionSatisfiabilityChecker.javaStefan Miklosovic3
src/java/org/apache/cassandra/service/accord/execution/AccordCache.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/service/accord/execution/AccordCacheEntry.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/service/accord/execution/AccordExecutor.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/service/accord/execution/SafeTask.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/service/accord/topology/AccordTopologyService.javaBenedict Elliott Smith3
test/distributed/org/apache/cassandra/fuzz/topology/AccordRebootstrapTest.javaBenedict Elliott Smith3
test/simulator/test/org/apache/cassandra/service/accord/execution/AccordCommandStoreExecutorTest.javaBenedict Elliott Smith3
test/simulator/test/org/apache/cassandra/simulator/test/AccordExecutorTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/AccordExpungeTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/AccordFailedKeyTestHarness.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/ControllableRangeIndex.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorCancelledConsequenceTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorContinuationCancellationTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorIncrDeadlockTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorIncrRequeueRevocationTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorKeyAdoptionTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorLoadFailureTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorPresetupLoadingTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorRangeScanTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordFailedKeyAbandonTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordFailedKeyBatchTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/service/accord/execution/AccordFailedKeyTest.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/service/accord/debug/DebugTxnGraph.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/utils/concurrent/SignalLock.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/utils/MonotonicClockTranslation.javaBenedict Elliott Smith3
test/simulator/main/org/apache/cassandra/simulator/systems/InterceptorOfExecution.javaBenedict Elliott Smith3
test/simulator/main/org/apache/cassandra/simulator/package-info.javaBenedict Elliott Smith3
test/microbench/org/apache/cassandra/test/microbench/btree/Megamorphism.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/service/paxos/BallotGenerator.javaBenedict Elliott Smith3
test/simulator/main/org/apache/cassandra/simulator/systems/SimulatedBallots.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/utils/concurrent/SemaphoreTest.javaBenedict Elliott Smith3
test/unit/org/apache/cassandra/utils/concurrent/ImmediateFutureTest.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/concurrent/ScheduledExecutorPlus.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/net/FutureDelegate.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/utils/concurrent/AsyncPromise.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/utils/concurrent/SharedCloseableImpl.javaBenedict Elliott Smith3
src/java/org/apache/cassandra/cql3/functions/FunctionFactory.javaAndrés de la Peña3
test/distributed/org/apache/cassandra/distributed/test/guardrails/GuardrailPartitionSizeTest.javaAndrés de la Peña3
test/unit/org/apache/cassandra/cql3/validation/entities/WritetimeOrTTLTest.javaAndrés de la Peña3
test/unit/org/apache/cassandra/db/guardrails/GuardrailInSelectCartesianProductTest.javaAndrés de la Peña3
test/distributed/org/apache/cassandra/distributed/test/sai/ReplicaFilteringWithStaticsTest.javaCaleb Rackliffe3
test/unit/org/apache/cassandra/index/sai/cql/EmptyStringLifecycleTest.javaCaleb Rackliffe3
src/java/org/apache/cassandra/tcm/listeners/PlacementsChangeListener.javaSam Tunnicliffe3
src/java/org/apache/cassandra/tcm/transformations/cms/FinishAddToCMS.javaSam Tunnicliffe3
src/java/org/apache/cassandra/tcm/transformations/cms/RemoveFromCMS.javaSam Tunnicliffe3
src/java/org/apache/cassandra/tcm/transformations/cms/StartAddToCMS.javaSam Tunnicliffe3
test/unit/org/apache/cassandra/tcm/membership/MembershipUtils.javaSam Tunnicliffe3
src/java/org/apache/cassandra/tcm/membership/Location.javaSam Tunnicliffe3
doc/modules/cassandra/pages/reference/vector-data-type.adocLorina Poland3
doc/modules/cassandra/pages/managing/operating/compaction/index.adocLorina Poland3
doc/modules/cassandra/pages/managing/operating/compaction/twcs.adocLorina Poland3
doc/modules/cassandra/pages/managing/configuration/index.adocLorina Poland3
doc/modules/cassandra/pages/developing/cql/json.adocLorina Poland3
doc/modules/cassandra/pages/getting-started/index.adocLorina Poland3
doc/modules/cassandra/partials/nodetool_and_cqlsh.adocLorina Poland3
doc/modules/cassandra/partials/nodetool_and_cqlsh_nobin.adocLorina Poland3
test/conf/cassandra-converters-special-cases-old-names.yamlEkaterina Dimitrova3
test/conf/cassandra-converters-special-cases.yamlEkaterina Dimitrova3
doc/modules/cassandra/examples/BNF/create_table_like.bnfMaxwell Guo3
test/simulator/main/org/apache/cassandra/simulator/cluster/OnInstanceStartConsensusMigration.javaAriel Weisberg3
examples/ssl-factory/src/org/apache/cassandra/security/KubernetesSecretsSslContextFactory.javamaulin-vasavada3
src/java/org/apache/cassandra/db/tries/MergeTrie.javaBranimir Lambov3
src/java/org/apache/cassandra/db/tries/Trie.mdBranimir Lambov3
tools/bin/hash_passwordBereng3
test/distributed/org/apache/cassandra/distributed/test/SinglePartitionReadCommandTest.javaBenjamin Lerer3
test/unit/org/apache/cassandra/index/sai/disk/v1/bbtree/BlockBalancedTreeQueriesTest.javaMike Adamson3
test/unit/org/apache/cassandra/index/sai/disk/v1/bitpack/NumericValuesTest.javaMike Adamson3
test/unit/org/apache/cassandra/index/sai/cql/types/NumericTypeSortingTest.javaMike Adamson3

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
Benedict Elliott Smith1,0263422,633
Maxim Muzafarov8582843,382
Roxana Neophytou632632635
Lorina Poland598519689
Sam Tunnicliffe5121261,368
Stefan Miklosovic386831,041
Mike Adamson377181532
Sylvain Lebresne32613902
David Capwell3091061,146
Jonathan Ellis2155556
Alex Petrov1721201,011
Jacek Lewandowski16459783
Marcus Eriksson16338915
Dmitry Konstantinov150119485
mck14036373
Robert Stupp12636623
Andrés de la Peña12055642
Branimir Lambov11944732
Ariel Weisberg101191,119
Pavel Yaskevich10133333
Caleb Rackliffe10052753
Blake Eggleston95251,036
Bereng9345542
Aleksey Yeshchenko8012966
maulin-vasavada7821130

Showing top 25 of 566 contributors.

Most shared files

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

FileContributorsPrimary ownerOwner share
CHANGES.txt478Jonathan Ellis18.9%
src/java/org/apache/cassandra/service/StorageService.java123Jonathan Ellis30.8%
build.xml111Sylvain Lebresne11.9%
src/java/org/apache/cassandra/config/DatabaseDescriptor.java111Jonathan Ellis29.2%
NEWS.txt111Jonathan Ellis18.6%
conf/cassandra.yaml108Jonathan Ellis26.9%
src/java/org/apache/cassandra/config/Config.java101Jonathan Ellis15.0%
src/java/org/apache/cassandra/tools/NodeProbe.java99Jonathan Ellis24.4%
src/java/org/apache/cassandra/db/ColumnFamilyStore.java82Jonathan Ellis48.1%
src/java/org/apache/cassandra/db/compaction/CompactionManager.java78Jonathan Ellis20.6%
src/java/org/apache/cassandra/service/StorageServiceMBean.java75Jonathan Ellis25.1%
src/java/org/apache/cassandra/service/StorageProxy.java74Jonathan Ellis40.5%
src/java/org/apache/cassandra/service/CassandraDaemon.java63Jonathan Ellis22.0%
src/java/org/apache/cassandra/tools/NodeTool.java62Brandon Williams14.5%
test/unit/org/apache/cassandra/cql3/CQLTester.java61Sylvain Lebresne10.2%
src/java/org/apache/cassandra/utils/FBUtilities.java56Jonathan Ellis40.2%
pylib/cqlshlib/cql3handling.py56Aleksey Yeshchenko16.7%
src/java/org/apache/cassandra/net/MessagingService.java54Jonathan Ellis42.1%
src/java/org/apache/cassandra/cql3/statements/SelectStatement.java50Sylvain Lebresne37.4%
src/java/org/apache/cassandra/cql3/QueryProcessor.java49Sylvain Lebresne26.3%