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
27,296
in the current tree
Bus Factor
18
18 authors are primary owner of 14,003 of 27,296 files
Single-Owner Files
13,576
49.7% of tracked files
Contributors
1,231
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
flink-table/flink-table-common/src/main/java/org/apache/flink/table/annotation/ArgumentTrait.javaTimo Walther12
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/physical/stream/StreamPhysicalMultiJoin.javaGustavo de Morais11
tools/ci/verify_bundled_optional.shChesnay Schepler11
flink-clients/src/main/java/org/apache/flink/client/deployment/application/PackagedProgramApplication.javaYi Zhang10
flink-table/flink-sql-jdbc-driver/src/main/java/org/apache/flink/table/jdbc/FlinkConnection.javaFang Yong9
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/four-way-complex-updating-join-with-restore/plan/four-way-complex-updating-join-with-restore.jsonGustavo de Morais8
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/three-way-inner-join-with-restore/plan/three-way-inner-join-with-restore.jsonGustavo de Morais7
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/three-way-join-with-time-attributes-with-restore/plan/three-way-join-with-time-attributes-with-restore.jsonGustavo de Morais7
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/three-way-left-outer-join-with-restore/plan/three-way-left-outer-join-with-restore.jsonGustavo de Morais7
flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/InternalSourceSplitMetricGroup.javaEfrat Levitan7
Table: the 100 most-changed of 13,576 single-owner files
FileSole ownerCommits
flink-table/flink-table-common/src/main/java/org/apache/flink/table/annotation/ArgumentTrait.javaTimo Walther12
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/physical/stream/StreamPhysicalMultiJoin.javaGustavo de Morais11
tools/ci/verify_bundled_optional.shChesnay Schepler11
flink-clients/src/main/java/org/apache/flink/client/deployment/application/PackagedProgramApplication.javaYi Zhang10
flink-table/flink-sql-jdbc-driver/src/main/java/org/apache/flink/table/jdbc/FlinkConnection.javaFang Yong9
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/four-way-complex-updating-join-with-restore/plan/four-way-complex-updating-join-with-restore.jsonGustavo de Morais8
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/three-way-inner-join-with-restore/plan/three-way-inner-join-with-restore.jsonGustavo de Morais7
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/three-way-join-with-time-attributes-with-restore/plan/three-way-join-with-time-attributes-with-restore.jsonGustavo de Morais7
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/three-way-left-outer-join-with-restore/plan/three-way-left-outer-join-with-restore.jsonGustavo de Morais7
flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/InternalSourceSplitMetricGroup.javaEfrat Levitan7
flink-core/src/test/java/org/apache/flink/configuration/CheckpointingOptionsTest.javaRui Fan7
flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/failover/ExponentialDelayRestartBackoffTimeStrategy.javaRui Fan7
flink-runtime/src/main/java/org/apache/flink/runtime/security/token/DelegationTokenManager.javaGabor Somogyi7
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/stream/sql/join/LateralSnapshotJoinTest.javaFabian Hueske7
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/stream/sql/SnapshotTableFunctionTest.javaFabian Hueske7
flink-python/pyflink/fn_execution/datastream/process/async_function/operation.pyDian Fu7
flink-state-backends/flink-statebackend-forst/src/test/java/org/apache/flink/state/forst/datatransfer/DataTransferStrategyTest.javaAlexYinHan7
flink-models/flink-model-openai/src/main/java/org/apache/flink/model/openai/OpenAIChatModelFunction.javaYunfeng Zhou7
flink-table/flink-sql-jdbc-driver/src/main/java/org/apache/flink/table/jdbc/FlinkResultSet.javaFang Yong7
flink-table/flink-table-planner/src/main/java/org/apache/calcite/rel/type/RelDataTypeFactoryImpl.javaSergey Nuyanzin6
flink-table/flink-table-planner/src/main/java/org/apache/calcite/runtime/SqlFunctions.javaSergey Nuyanzin6
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/operations/converters/SchemaConverter.javaSergey Nuyanzin6
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/operations/converters/table/AbstractAlterTableConverter.javaSergey Nuyanzin6
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/operations/converters/table/SqlAlterTableSchemaConverter.javaSergey Nuyanzin6
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/four-way-complex-updating-join-with-restore/savepoint/_metadataGustavo de Morais6
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/three-way-inner-join-with-restore/savepoint/_metadataGustavo de Morais6
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/three-way-join-with-time-attributes-with-restore/savepoint/_metadataGustavo de Morais6
flink-table/flink-table-planner/src/test/resources/restore-tests/stream-exec-multi-join_1/three-way-left-outer-join-with-restore/savepoint/_metadataGustavo de Morais6
flink-runtime/src/test/java/org/apache/flink/runtime/executiongraph/failover/ExponentialDelayRestartBackoffTimeStrategyTest.javaRui Fan6
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/rules/logical/LogicalJoinToLateralSnapshotJoinRule.javaFabian Hueske6
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/stream/LateralSnapshotJoinSemanticTestPrograms.javaFabian Hueske6
flink-filesystems/flink-s3-fs-native/src/main/java/org/apache/flink/fs/s3native/writer/NativeS3RecoverableWriter.javaSamrat6
flink-state-backends/flink-statebackend-forst/src/main/java/org/apache/flink/state/forst/datatransfer/CopyDataTransferStrategy.javaAlexYinHan6
flink-runtime-web/web-dashboard/src/app/pages/job/rescales/job-rescales.component.htmloch53516
flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/JarRunApplicationHandler.javaYi Zhang6
flink-runtime/src/main/java/org/apache/flink/runtime/application/AbstractApplication.javaYi Zhang6
flink-runtime/src/test/java/org/apache/flink/runtime/resourcemanager/slotmanager/TestingResourceAllocator.javaWeihua Hu6
flink-python/pyflink/fn_execution/embedded/operation_utils.pyxingbo6
flink-python/pyflink/fn_execution/embedded/operations.pyxingbo6
flink-table/flink-sql-jdbc-driver/src/main/java/org/apache/flink/table/jdbc/FlinkStatement.javaFang Yong6
flink-runtime/src/test/java/org/apache/flink/runtime/blocklist/DefaultBlocklistHandlerTest.javaLijie Wang6
flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/CheckpointPlan.javaYun Gao6
flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/timeline/Rescale.javaYuepeng Pan5
flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/channel/ChannelStateFilteringHandler.javaRui Fan5
flink-runtime/src/main/java/org/apache/flink/runtime/security/token/NoOpDelegationTokenManager.javaGabor Somogyi5
flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/operators/process/PassThroughCollectorBase.javaTimo Walther5
flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/operators/process/PassPartitionKeysCollector.javaTimo Walther5
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/hints/stream/EarlyFireJoinHintTest.javaWeiqing Yang5
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/functions/BitmapFunctionsITCase.javadylanhz5
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/rules/physical/stream/DuplicateChangesInferRule.javaXuyang5
flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/operators/aggregate/window/WindowAggOperatorBuilder.javaXuyang5
flink-runtime/src/test/java/org/apache/flink/runtime/leaderelection/TestingLeaderElection.javaMatthias Pohl5
flink-runtime/src/main/java/org/apache/flink/runtime/leaderelection/LeaderInformationRegister.javaMatthias Pohl5
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/runtime/stream/table/AsyncCalcITCase.javaAlan Sheinberg5
flink-state-backends/flink-statebackend-forst/src/main/java/org/apache/flink/state/forst/datatransfer/DataTransferStrategyBuilder.javaAlexYinHan5
flink-datastream-api/src/main/java/org/apache/flink/datastream/api/context/RuntimeContext.javareswqa5
flink-clients/src/test/java/org/apache/flink/client/deployment/application/PackagedProgramApplicationTest.javaYi Zhang5
flink-runtime/src/test/java/org/apache/flink/runtime/resourcemanager/slotmanager/TestingResourceAllocatorBuilder.javaWeihua Hu5
flink-runtime/src/main/java/org/apache/flink/runtime/resourcemanager/slotmanager/ResourceAllocator.javaWeihua Hu5
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/stream/sql/VectorSearchTableFunctionTest.javaShengkai5
docs/content.zh/docs/connectors/models/openai.mdYunfeng Zhou5
docs/content/docs/connectors/models/openai.mdYunfeng Zhou5
flink-models/flink-model-openai/src/main/java/org/apache/flink/model/openai/OpenAIModelProviderFactory.javaYunfeng Zhou5
flink-table/flink-sql-gateway/src/test/java/org/apache/flink/table/gateway/rest/SqlGatewayRestEndpointMaterializedTableITCase.javaFeng Jin5
tools/ci/flink-ci-tools/src/test/java/org/apache/flink/tools/ci/licensecheck/NoticeFileCheckerTest.javaChesnay Schepler5
flink-runtime/src/main/java/org/apache/flink/runtime/blocklist/DefaultBlocklistHandler.javaLijie Wang5
flink-runtime/src/main/java/org/apache/flink/runtime/entrypoint/WorkingDirectory.javaTill Rohrmann5
flink-table/flink-table-planner/src/main/java/org/apache/calcite/rel/rules/SubQueryRemoveRule.javaSergey Nuyanzin4
flink-table/flink-table-planner/src/main/java/org/apache/calcite/sql/SqlIntervalQualifier.javaSergey Nuyanzin4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/operations/converters/table/SqlCreateTableConverter.javaSergey Nuyanzin4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/operations/converters/table/SqlCreateTableLikeConverter.javaSergey Nuyanzin4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/operations/converters/table/SqlAlterTableAddDistributionConverter.javaSergey Nuyanzin4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/operations/converters/table/SqlAlterTableOptionsConverter.javaSergey Nuyanzin4
flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/timeline/DefaultRescaleTimeline.javaYuepeng Pan4
flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/allocator/AllocatorUtil.javaYuepeng Pan4
flink-runtime/src/test/java/org/apache/flink/runtime/scheduler/adaptive/allocator/TestingSlot.javaYuepeng Pan4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/logical/FlinkLogicalMultiJoin.javaGustavo de Morais4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/stream/StreamExecMultiJoin.javaGustavo de Morais4
flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/failover/FixedDelayRestartBackoffTimeStrategy.javaRui Fan4
flink-runtime/src/test/java/org/apache/flink/runtime/security/token/ExceptionThrowingDelegationTokenReceiver.javaGabor Somogyi4
flink-runtime/src/test/java/org/apache/flink/runtime/security/token/ExceptionThrowingDelegationTokenProvider.javaGabor Somogyi4
flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/operators/process/RuntimeStateInfo.javaTimo Walther4
flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/inference/StateTypeStrategy.javaTimo Walther4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/calcite/RexTableArgCall.javaTimo Walther4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/serde/DataTypeJsonSerializer.javaTimo Walther4
flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/operators/process/PassAllCollector.javaTimo Walther4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/ExecNodeGraphGenerator.javaTimo Walther4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/serde/AggregateCallJsonSerializer.javaTimo Walther4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/serde/RelDataTypeJsonSerializer.javaTimo Walther4
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/stream/sql/FromChangelogTest.javaRamin Gharib4
flink-table/flink-table-planner/src/test/resources/org/apache/flink/table/planner/plan/stream/sql/FromChangelogTest.xmlRamin Gharib4
flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/functions/ptf/FromChangelogFunction.javaRamin Gharib4
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/batch/sql/join/LateralSnapshotJoinTest.javaFabian Hueske4
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/batch/LateralSnapshotJoinTestPrograms.javaFabian Hueske4
flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/utils/LateralSnapshotJoinUtil.javaFabian Hueske4
flink-table/flink-table-common/src/main/java/org/apache/flink/table/types/inference/strategies/LateralSnapshotTypeStrategy.javaFabian Hueske4
flink-table/flink-table-planner/src/test/java/org/apache/flink/table/planner/plan/nodes/exec/stream/LateralSnapshotJoinTestPrograms.javaFabian Hueske4
flink-runtime/src/main/java/org/apache/flink/runtime/asyncprocessing/declare/DeclarationContext.javaZakelly4
flink-libraries/flink-state-processing-api/src/main/java/org/apache/flink/state/api/StateTableUtils.javaGyula Fora4
flink-filesystems/flink-s3-fs-native/src/main/java/org/apache/flink/fs/s3native/NativeS3BulkCopyHelper.javaSamrat4

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
Sergey Nuyanzin1,4667473,394
Timo Walther1,4353153,249
reswqa9596431,757
xingbo8446341,190
Till Rohrmann776442,200
Xuyang7672921,467
Chesnay Schepler7521872,880
Stephan Ewen750141,865
Matthias Pohl7145821,675
lincoln lee7125711,091
JunRuiLee6826151,756
Zhanghao Chen682635945
Ron658643811
Hang Ruan653647938
David Anderson628628816
Rufus Refactor51807,168
Yun Gao504418855
sjwiesman503207877
Dawid Wysakowicz4592791,645
Zakelly400137776
Martijn Visser350286854
Dian Fu346216874
Robert Metzger301131,013
Aljoscha Krettek2992301,165
Francesco Guardiani2951501,382

Showing top 25 of 1231 contributors.

Most shared files

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

FileContributorsPrimary ownerOwner share
pom.xml197Chesnay Schepler18.4%
flink-runtime/src/main/java/org/apache/flink/runtime/taskexecutor/TaskExecutor.java72Till Rohrmann29.7%
flink-dist/pom.xml70Chesnay Schepler21.6%
flink-end-to-end-tests/run-nightly-tests.sh69Robert Metzger14.1%
flink-end-to-end-tests/pom.xml63Chesnay Schepler17.9%
flink-core/src/main/java/org/apache/flink/configuration/ConfigConstants.java62Till Rohrmann16.6%
flink-runtime/src/main/java/org/apache/flink/runtime/checkpoint/CheckpointCoordinator.java59Stephan Ewen14.0%
flink-runtime/src/main/java/org/apache/flink/runtime/taskmanager/Task.java59Stephan Ewen12.5%
flink-runtime/src/main/java/org/apache/flink/runtime/jobmaster/JobMaster.java55Till Rohrmann46.2%
flink-runtime/src/test/java/org/apache/flink/runtime/checkpoint/CheckpointCoordinatorTest.java55Stefan Richter10.6%
flink-tests/pom.xml55Stephan Ewen12.6%
flink-connectors/pom.xml55Chesnay Schepler12.1%
flink-streaming-java/src/test/java/org/apache/flink/streaming/api/graph/StreamingJobGraphGeneratorTest.java54ifndef-SleePy8.3%
flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/Execution.java53Till Rohrmann22.0%
flink-runtime/src/main/java/org/apache/flink/runtime/dispatcher/Dispatcher.java53Till Rohrmann39.7%
flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/ExecutionGraph.java52Till Rohrmann23.1%
flink-runtime/pom.xml52Chesnay Schepler27.6%
flink-runtime/src/main/java/org/apache/flink/runtime/minicluster/MiniCluster.java51Till Rohrmann37.0%
flink-end-to-end-tests/test-scripts/common.sh51Chesnay Schepler12.3%
flink-runtime-web/src/test/resources/rest_api_v1.snapshot51Chesnay Schepler11.1%