opensearch-project / index-management
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 14% duplication:
    • 16,456 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,378 duplicated lines
  • 555 duplicates
system14% (2,378 lines)
Duplication per Extension
kt14% (2,224 lines)
http23% (154 lines)
Duplication per Component (primary)
src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement12% (1,090 lines)
src/main/kotlin/org/opensearch/indexmanagement/rollup15% (593 lines)
src/main/kotlin/org/opensearch/indexmanagement/transform22% (479 lines)
worksheets/rollups39% (128 lines)
src/main/kotlin/org/opensearch/indexmanagement/common11% (36 lines)
worksheets/rollups/secured7% (19 lines)
src/main/kotlin/org/opensearch/indexmanagement/util3% (12 lines)
src/main/kotlin/org/opensearch/indexmanagement/refreshanalyzer4% (8 lines)
worksheets/rollups/unsecured43% (7 lines)
src/main/kotlin/org/opensearch/indexmanagement/opensearchapi4% (6 lines)
src/main/kotlin/org/opensearch/indexmanagement/settings0% (0 lines)
src/main/kotlin/org/opensearch/indexmanagement0% (0 lines)
src/main/plugin-metadata0% (0 lines)
worksheets/notifications0% (0 lines)
worksheets/ism0% (0 lines)
release-notes0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G src/main/kotlin/org/opensearch/indexmanagement/rollup src/main/kotlin/org/opensearch/indexmanagement/rollup src/main/kotlin/org/opensearch/indexmanagement/transform src/main/kotlin/org/opensearch/indexmanagement/transform src/main/kotlin/org/opensearch/indexmanagement/rollup--src/main/kotlin/org/opensearch/indexmanagement/transform 744 src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement--src/main/kotlin/org/opensearch/indexmanagement/rollup 169 src/main/kotlin/org/opensearch/indexmanagement/indexstatemanagement--src/main/kotlin/org/opensearch/indexmanagement/transform 138

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 555 duplicates...
Size#FoldersFilesLinesCode
39 x 2 src/main/kotlin/org/open...temanagement/step/close
src/main/kotlin/org/open...emanagement/step/delete
AttemptCloseStep.kt
AttemptDeleteStep.kt
42:92 (66%)
42:92 (66%)
view
30 x 2 src/main/kotlin/org/open...anagement/step/readonly
src/main/kotlin/org/open...nagement/step/readwrite
SetReadOnlyStep.kt
SetReadWriteStep.kt
42:81 (61%)
44:83 (58%)
view
28 x 2 src/main/kotlin/org/open...atemanagement/step/open
src/main/kotlin/org/open...anagement/step/readonly
AttemptOpenStep.kt
SetReadOnlyStep.kt
41:77 (59%)
45:81 (57%)
view
28 x 2 src/main/kotlin/org/open...atemanagement/step/open
src/main/kotlin/org/open...nagement/step/readwrite
AttemptOpenStep.kt
SetReadWriteStep.kt
41:77 (59%)
47:83 (54%)
view
23 x 2 src/main/kotlin/org/open.../transform/action/start
src/main/kotlin/org/open...t/transform/action/stop
TransportStartTransformAction.kt
TransportStopTransformAction.kt
65:91 (17%)
79:105 (18%)
view
21 x 2 worksheets/rollups
worksheets/rollups
http
comparisons.http
comparisons.http
128:150 (11%)
152:173 (11%)
view
21 x 2 worksheets/rollups
worksheets/rollups
http
comparisons.http
comparisons.http
44:66 (11%)
68:89 (11%)
view
20 x 2 src/main/kotlin/org/open...ement/rollup/action/get
src/main/kotlin/org/open...nt/transform/action/get
GetRollupRequest.kt
GetTransformRequest.kt
31:55 (60%)
22:46 (76%)
view
20 x 2 src/main/kotlin/org/open...ement/rollup/action/get
src/main/kotlin/org/open...nt/transform/action/get
GetRollupsRequest.kt
GetTransformsRequest.kt
37:60 (48%)
23:46 (66%)
view
19 x 2 src/main/kotlin/org/open...ort/action/removepolicy
src/main/kotlin/org/open...retryfailedmanagedindex
TransportRemovePolicyAction.kt
TransportRetryFailedManagedIndexActio...
96:119 (7%)
97:120 (9%)
view
17 x 2 worksheets/rollups
worksheets/rollups
http
comparisons.http
comparisons.http
58:76 (9%)
142:160 (9%)
view
17 x 2 src/main/kotlin/org/open...ement/step/notification
src/main/kotlin/org/open...anagement/step/readonly
AttemptNotificationStep.kt
SetReadOnlyStep.kt
51:73 (37%)
56:78 (34%)
view
17 x 2 src/main/kotlin/org/open...ement/step/notification
src/main/kotlin/org/open...atemanagement/step/open
AttemptNotificationStep.kt
AttemptOpenStep.kt
51:73 (37%)
52:74 (36%)
view
17 x 2 src/main/kotlin/org/open...ement/step/notification
src/main/kotlin/org/open...nagement/step/readwrite
AttemptNotificationStep.kt
SetReadWriteStep.kt
51:73 (37%)
58:80 (33%)
view
16 x 2 src/main/kotlin/org/open...atemanagement/step/open
src/main/kotlin/org/open...anagement/step/snapshot
AttemptOpenStep.kt
WaitForSnapshotStep.kt
46:66 (34%)
69:89 (21%)
view
16 x 2 src/main/kotlin/org/open...anagement/step/readonly
src/main/kotlin/org/open...anagement/step/snapshot
SetReadOnlyStep.kt
WaitForSnapshotStep.kt
50:70 (32%)
69:89 (21%)
view
16 x 2 src/main/kotlin/org/open...nagement/step/readwrite
src/main/kotlin/org/open...anagement/step/snapshot
SetReadWriteStep.kt
WaitForSnapshotStep.kt
52:72 (31%)
69:89 (21%)
view
16 x 2 src/main/kotlin/org/open...nagement/step/readwrite
src/main/kotlin/org/open...agement/step/transition
SetReadWriteStep.kt
AttemptTransitionStep.kt
54:76 (31%)
119:140 (16%)
view
16 x 2 src/main/kotlin/org/open...anagement/step/readonly
src/main/kotlin/org/open...agement/step/transition
SetReadOnlyStep.kt
AttemptTransitionStep.kt
52:74 (32%)
119:140 (16%)
view
16 x 2 src/main/kotlin/org/open...atemanagement/step/open
src/main/kotlin/org/open...agement/step/transition
AttemptOpenStep.kt
AttemptTransitionStep.kt
48:70 (34%)
119:140 (16%)
view
Duplicated Units
The list of top 15 duplicated units.
See data for all 15 unit duplicates...
Size#FoldersFilesLinesCode
12 x 3 src/main/kotlin/org/open...retryfailedmanagedindex
src/main/kotlin/org/open...ort/action/changepolicy
src/main/kotlin/org/open...ort/action/removepolicy
TransportRetryFailedManagedIndexActio...
TransportChangePolicyAction.kt
TransportRemovePolicyAction.kt
106:118 
129:141 
105:117 
view
11 x 2 src/main/kotlin/org/open...retryfailedmanagedindex
src/main/kotlin/org/open...ort/action/removepolicy
TransportRetryFailedManagedIndexActio...
TransportRemovePolicyAction.kt
82:94 
82:93 
view
9 x 2 src/main/kotlin/org/open...ort/action/deletepolicy
src/main/kotlin/org/open...nsport/action/getpolicy
DeletePolicyRequest.kt
GetPolicyRequest.kt
24:33 
39:48 
view
9 x 2 src/main/kotlin/org/open...ement/rollup/action/get
src/main/kotlin/org/open...nt/transform/action/get
GetRollupRequest.kt
GetTransformRequest.kt
47:56 
38:47 
view
8 x 2 src/main/kotlin/org/open...ment/rollup/resthandler
src/main/kotlin/org/open...t/transform/resthandler
RestIndexRollupAction.kt
RestIndexTransformAction.kt
86:94 
74:82 
view
7 x 2 src/main/kotlin/org/open...emanagement/resthandler
src/main/kotlin/org/open...ment/rollup/resthandler
RestDeletePolicyAction.kt
RestDeleteRollupAction.kt
29:36 
29:36 
view
7 x 2 src/main/kotlin/org/open...ement/model/destination
src/main/kotlin/org/open...ement/model/destination
Slack.kt
Chime.kt
72:79 
72:79 
view
7 x 2 src/main/kotlin/org/open...ment/rollup/resthandler
src/main/kotlin/org/open...ment/rollup/resthandler
RestStopRollupAction.kt
RestStartRollupAction.kt
29:36 
29:36 
view
7 x 2 src/main/kotlin/org/open...t/rollup/action/explain
src/main/kotlin/org/open...ransform/action/explain
ExplainRollupResponse.kt
ExplainTransformResponse.kt
41:48 
36:43 
view
6 x 10 src/main/kotlin/org/open...ment/step/indexpriority
src/main/kotlin/org/open...ement/step/replicacount
src/main/kotlin/org/open...ement/step/notification
src/main/kotlin/org/open...emanagement/step/delete
src/main/kotlin/org/open...agement/step/allocation
src/main/kotlin/org/open...anagement/step/snapshot
src/main/kotlin/org/open...anagement/step/readonly
src/main/kotlin/org/open...temanagement/step/close
src/main/kotlin/org/open...atemanagement/step/open
src/main/kotlin/org/open...nagement/step/readwrite
AttemptSetIndexPriorityStep.kt
AttemptSetReplicaCountStep.kt
AttemptNotificationStep.kt
AttemptDeleteStep.kt
AttemptAllocationStep.kt
WaitForSnapshotStep.kt
SetReadOnlyStep.kt
AttemptCloseStep.kt
AttemptOpenStep.kt
SetReadWriteStep.kt
73:79 
74:80 
68:74 
84:90 
73:79 
104:110 
73:79 
84:90 
69:75 
75:81 
view
6 x 4 src/main/kotlin/org/open...retryfailedmanagedindex
src/main/kotlin/org/open...ort/action/changepolicy
src/main/kotlin/org/open...ort/action/removepolicy
src/main/kotlin/org/open...nsport/action/addpolicy
RetryFailedManagedIndexRequest.kt
ChangePolicyRequest.kt
RemovePolicyRequest.kt
AddPolicyRequest.kt
39:45 
27:33 
30:36 
26:32 
view
6 x 2 src/main/kotlin/org/open...t/rollup/action/explain
src/main/kotlin/org/open...ransform/action/explain
ExplainRollupResponse.kt
ExplainTransformResponse.kt
51:57 
46:52 
view
6 x 4 src/main/kotlin/org/open...ment/rollup/action/stop
src/main/kotlin/org/open...ent/rollup/action/start
src/main/kotlin/org/open...t/transform/action/stop
src/main/kotlin/org/open.../transform/action/start
StopRollupRequest.kt
StartRollupRequest.kt
StopTransformRequest.kt
StartTransformRequest.kt
24:30 
24:30 
24:30 
24:30 
view
6 x 2 src/main/kotlin/org/open...ement/rollup/action/get
src/main/kotlin/org/open...nt/transform/action/get
GetRollupRequest.kt
GetTransformRequest.kt
38:44 
29:35 
view
6 x 2 src/main/kotlin/org/open...ement/rollup/action/get
src/main/kotlin/org/open...nt/transform/action/get
GetRollupsRequest.kt
GetTransformsRequest.kt
49:55 
35:41 
view