awslabs / aws-glue-data-catalog-client-for-apache-hive-metastore
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
  • 40% duplication:
    • 4,678 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 1,902 duplicated lines
  • 49 duplicates
system40% (1,902 lines)
Duplication per Extension
java40% (1,902 lines)
Duplication per Component (primary)
aws-glue-datacatalog-hive2-client/src/main/java/com/amazonaws/glue/catalog/metastore80% (922 lines)
aws-glue-datacatalog-spark-client/src/main/java/com/amazonaws/glue/catalog/metastore91% (881 lines)
aws-glue-datacatalog-client-common/src/main/java/com/amazonaws/glue/catalog/metastore4% (67 lines)
shims/spark-hive-shims/src/main/java/com/amazonaws/glue/shims47% (16 lines)
shims/hive2-shims/src/main/java/com/amazonaws/glue/shims47% (16 lines)
shims/loader/src/main/java/com/amazonaws/glue/shims0% (0 lines)
shims/common/src/main/java/com/amazonaws/glue/shims0% (0 lines)
aws-glue-datacatalog-client-common/src/main/java/com/amazonaws/glue/catalog/converters0% (0 lines)
aws-glue-datacatalog-client-common/src/main/java/com/amazonaws/glue/catalog/util0% (0 lines)

Duplication Between Components (50+ lines)

G aws-glue-datacatalog-hive2-client/src/main/java/com/amazonaws/glue/catalog/metastore aws-glue-datacatalog-hive2-client/src/main/java/com/amazonaws/glue/catalog/metastore aws-glue-datacatalog-spark-client/src/main/java/com/amazonaws/glue/catalog/metastore aws-glue-datacatalog-spark-client/src/main/java/com/amazonaws/glue/catalog/metastore aws-glue-datacatalog-hive2-client/src/main/java/com/amazonaws/glue/catalog/metastore--aws-glue-datacatalog-spark-client/src/main/java/com/amazonaws/glue/catalog/metastore 1761 aws-glue-datacatalog-client-common/src/main/java/com/amazonaws/glue/catalog/metastore aws-glue-datacatalog-client-common/src/main/java/com/amazonaws/glue/catalog/metastore aws-glue-datacatalog-client-common/src/main/java/com/amazonaws/glue/catalog/metastore--aws-glue-datacatalog-hive2-client/src/main/java/com/amazonaws/glue/catalog/metastore 96 aws-glue-datacatalog-client-common/src/main/java/com/amazonaws/glue/catalog/metastore--aws-glue-datacatalog-spark-client/src/main/java/com/amazonaws/glue/catalog/metastore 54

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 49 duplicates...
Size#FoldersFilesLinesCode
190 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1272:1540 (16%)
1121:1389 (19%)
view
99 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
765:915 (8%)
660:810 (10%)
view
81 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
999:1114 (7%)
871:986 (8%)
view
76 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
607:716 (6%)
506:615 (7%)
view
52 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
439:514 (4%)
405:480 (5%)
view
44 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1126:1189 (3%)
986:1049 (4%)
view
43 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
306:364 (3%)
292:350 (4%)
view
39 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1724:1780 (3%)
1459:1515 (4%)
view
39 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
244:302 (3%)
230:288 (4%)
view
33 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1200:1253 (2%)
1054:1107 (3%)
view
26 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
141:182 (2%)
129:170 (2%)
view
26 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
192:241 (2%)
180:228 (2%)
view
21 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1553:1583 (1%)
1393:1423 (2%)
view
16 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
117:136 (1%)
101:120 (1%)
view
14 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1698:1719 (1%)
1438:1459 (1%)
view
13 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
926:946 (1%)
810:830 (1%)
view
12 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1667:1682 (1%)
1423:1438 (1%)
view
11 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
554:570 (<1%)
480:496 (1%)
view
11 x 2 aws-glue-datacatalog-hiv.../glue/catalog/metastore
aws-glue-datacatalog-spa.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
719:735 (<1%)
618:634 (1%)
view
9 x 2 shims/hive2-shims/src/ma...om/amazonaws/glue/shims
shims/spark-hive-shims/s...om/amazonaws/glue/shims
AwsGlueHive2Shims.java
AwsGlueSparkHiveShims.java
53:61 (26%)
53:61 (26%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 34 unit duplicates...
Size#FoldersFilesLinesCode
46 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1281:1338 
1432:1489 
view
44 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
689:740 
794:845 
view
35 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
512:548 
613:649 
view
21 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
193:225 
205:237 
view
21 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1194:1217 
1345:1368 
view
21 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1340:1363 
1491:1514 
view
18 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
755:774 
860:879 
view
16 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
241:263 
255:277 
view
16 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
579:601 
680:702 
view
16 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1030:1047 
1170:1187 
view
15 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
663:678 
768:783 
view
14 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1141:1157 
1292:1308 
view
14 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1175:1191 
1326:1342 
view
13 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1496:1509 
1761:1774 
view
12 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1126:1138 
1277:1289 
view
11 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
129:144 
141:156 
view
11 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1365:1376 
1516:1527 
view
10 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
872:882 
1000:1010 
view
10 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1160:1172 
1311:1323 
view
10 x 2 aws-glue-datacatalog-spa.../glue/catalog/metastore
aws-glue-datacatalog-hiv.../glue/catalog/metastore
AWSCatalogMetastoreClient.java
AWSCatalogMetastoreClient.java
1404:1414 
1564:1574 
view