{
  "title" : "Duplication",
  "timestamp" : "2024-04-08 15:08:32",
  "duplicates" : [ {
    "blockSize" : 1760,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 1760,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 1760,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 1760,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 1760,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 1760,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1,
      "endLine" : 1940,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 1607,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 407,
      "endLine" : 3274,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 1797
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 409,
      "endLine" : 3276,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 1798
    } ]
  }, {
    "blockSize" : 1512,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 718,
      "endLine" : 3493,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 1902
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 719,
      "endLine" : 3495,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 1902
    } ]
  }, {
    "blockSize" : 525,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 2383,
      "endLine" : 3301,
      "cleanedStartLine" : 1289,
      "cleanedEndLine" : 1813
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2386,
      "endLine" : 3304,
      "cleanedStartLine" : 1290,
      "cleanedEndLine" : 1814
    } ]
  }, {
    "blockSize" : 525,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 2383,
      "endLine" : 3301,
      "cleanedStartLine" : 1289,
      "cleanedEndLine" : 1813
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2387,
      "endLine" : 3305,
      "cleanedStartLine" : 1290,
      "cleanedEndLine" : 1814
    } ]
  }, {
    "blockSize" : 510,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 2381,
      "endLine" : 3274,
      "cleanedStartLine" : 1288,
      "cleanedEndLine" : 1797
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2387,
      "endLine" : 3280,
      "cleanedStartLine" : 1290,
      "cleanedEndLine" : 1799
    } ]
  }, {
    "blockSize" : 510,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 2381,
      "endLine" : 3274,
      "cleanedStartLine" : 1288,
      "cleanedEndLine" : 1797
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2386,
      "endLine" : 3279,
      "cleanedStartLine" : 1290,
      "cleanedEndLine" : 1799
    } ]
  }, {
    "blockSize" : 477,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 517,
      "endLine" : 1302,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 745
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 518,
      "endLine" : 1303,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 746
    } ]
  }, {
    "blockSize" : 477,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 515,
      "endLine" : 1300,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 744
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 518,
      "endLine" : 1303,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 746
    } ]
  }, {
    "blockSize" : 410,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 410,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 410,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 410,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 410,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 410,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 593,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 388,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 58,
      "endLine" : 715,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 389
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 59,
      "endLine" : 716,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 389
    } ]
  }, {
    "blockSize" : 356,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 715,
      "endLine" : 1300,
      "cleanedStartLine" : 389,
      "cleanedEndLine" : 744
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 719,
      "endLine" : 1304,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 746
    } ]
  }, {
    "blockSize" : 356,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 717,
      "endLine" : 1302,
      "cleanedStartLine" : 390,
      "cleanedEndLine" : 745
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 719,
      "endLine" : 1304,
      "cleanedStartLine" : 391,
      "cleanedEndLine" : 746
    } ]
  }, {
    "blockSize" : 312,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 51,
      "endLine" : 493,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 312
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 51,
      "endLine" : 493,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 312,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 51,
      "endLine" : 493,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 312
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 51,
      "endLine" : 493,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 312,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 51,
      "endLine" : 493,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 312
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 51,
      "endLine" : 493,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 306,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 1775,
      "endLine" : 2379,
      "cleanedStartLine" : 981,
      "cleanedEndLine" : 1286
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1781,
      "endLine" : 2385,
      "cleanedStartLine" : 983,
      "cleanedEndLine" : 1288
    } ]
  }, {
    "blockSize" : 306,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 1777,
      "endLine" : 2381,
      "cleanedStartLine" : 982,
      "cleanedEndLine" : 1287
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1781,
      "endLine" : 2385,
      "cleanedStartLine" : 983,
      "cleanedEndLine" : 1288
    } ]
  }, {
    "blockSize" : 306,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 1777,
      "endLine" : 2381,
      "cleanedStartLine" : 982,
      "cleanedEndLine" : 1287
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1780,
      "endLine" : 2384,
      "cleanedStartLine" : 983,
      "cleanedEndLine" : 1288
    } ]
  }, {
    "blockSize" : 306,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 1775,
      "endLine" : 2379,
      "cleanedStartLine" : 981,
      "cleanedEndLine" : 1286
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1780,
      "endLine" : 2384,
      "cleanedStartLine" : 983,
      "cleanedEndLine" : 1288
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 292,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ArrayColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 366,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 51,
      "endLine" : 469,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 266,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 275,
      "endLine" : 593,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 275,
      "endLine" : 593,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 266,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 275,
      "endLine" : 593,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 275,
      "endLine" : 593,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 266,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 275,
      "endLine" : 593,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 275,
      "endLine" : 593,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 266,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 275,
      "endLine" : 593,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 410
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 275,
      "endLine" : 593,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 410
    } ]
  }, {
    "blockSize" : 266,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 58,
      "endLine" : 510,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 267
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 58,
      "endLine" : 510,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 266,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 58,
      "endLine" : 510,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 267
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 59,
      "endLine" : 511,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 261,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 57,
      "endLine" : 450,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 55,
      "endLine" : 448,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 261,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 55,
      "endLine" : 448,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 54,
      "endLine" : 447,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 261,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 57,
      "endLine" : 450,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 54,
      "endLine" : 447,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 249,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 127,
      "endLine" : 490,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 299
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 131,
      "endLine" : 494,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 232,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 1311,
      "endLine" : 1772,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 979
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1317,
      "endLine" : 1778,
      "cleanedStartLine" : 750,
      "cleanedEndLine" : 981
    } ]
  }, {
    "blockSize" : 232,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 1311,
      "endLine" : 1772,
      "cleanedStartLine" : 748,
      "cleanedEndLine" : 979
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1316,
      "endLine" : 1777,
      "cleanedStartLine" : 750,
      "cleanedEndLine" : 981
    } ]
  }, {
    "blockSize" : 232,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 1313,
      "endLine" : 1774,
      "cleanedStartLine" : 749,
      "cleanedEndLine" : 980
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1317,
      "endLine" : 1778,
      "cleanedStartLine" : 750,
      "cleanedEndLine" : 981
    } ]
  }, {
    "blockSize" : 232,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 1313,
      "endLine" : 1774,
      "cleanedStartLine" : 749,
      "cleanedEndLine" : 980
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1316,
      "endLine" : 1777,
      "cleanedStartLine" : 750,
      "cleanedEndLine" : 981
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 181,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 70,
      "endLine" : 393,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 173,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 88,
      "endLine" : 402,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 90,
      "endLine" : 404,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 173,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 88,
      "endLine" : 402,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 90,
      "endLine" : 404,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 173,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 88,
      "endLine" : 402,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 91,
      "endLine" : 405,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 167,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 166,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 51,
      "endLine" : 309,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 164,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/cdc/CDCFileGroupIterator.scala",
        "extension" : "scala",
        "linesOfCode" : 415,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 331,
      "startLine" : 318,
      "endLine" : 553,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 328
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/cdc/HoodieCDCRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 439,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 351,
      "startLine" : 357,
      "endLine" : 592,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 349
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 155,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReaderFactory.java",
        "extension" : "java",
        "linesOfCode" : 219,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 155,
      "startLine" : 43,
      "endLine" : 301,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 143,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 273,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 273,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 143,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 273,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 273,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 143,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 273,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 273,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 143,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 273,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 103,
      "endLine" : 273,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 168,
      "endLine" : 388,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 167,
      "endLine" : 387,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 141,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 57,
      "endLine" : 323,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 120,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 515,
      "endLine" : 712,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 387
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 519,
      "endLine" : 716,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 389
    } ]
  }, {
    "blockSize" : 120,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 517,
      "endLine" : 714,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 388
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 519,
      "endLine" : 716,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 389
    } ]
  }, {
    "blockSize" : 116,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/cdc/CDCFileGroupIterator.scala",
        "extension" : "scala",
        "linesOfCode" : 415,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 331,
      "startLine" : 123,
      "endLine" : 316,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/cdc/HoodieCDCRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 439,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 351,
      "startLine" : 161,
      "endLine" : 354,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 184
    } ]
  }, {
    "blockSize" : 115,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 216,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 66,
      "endLine" : 216,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 106,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 154,
      "endLine" : 287,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 168,
      "endLine" : 301,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 106,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 154,
      "endLine" : 287,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 168,
      "endLine" : 301,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 106,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 58,
      "endLine" : 190,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 55,
      "endLine" : 187,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 106,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 58,
      "endLine" : 190,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 57,
      "endLine" : 189,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 106,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 154,
      "endLine" : 287,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 176
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 168,
      "endLine" : 301,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 106,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 58,
      "endLine" : 190,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 54,
      "endLine" : 186,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 104,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 65,
      "endLine" : 201,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 66,
      "endLine" : 202,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 98,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 43,
      "endLine" : 199,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 43,
      "endLine" : 199,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 98,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 43,
      "endLine" : 199,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 43,
      "endLine" : 199,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 98,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 43,
      "endLine" : 199,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 43,
      "endLine" : 199,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 95,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 40,
      "endLine" : 227,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 40,
      "endLine" : 227,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 95,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 40,
      "endLine" : 227,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 40,
      "endLine" : 227,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 95,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 40,
      "endLine" : 227,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 40,
      "endLine" : 227,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 90,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark2Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 44,
      "endLine" : 201,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark31Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 130,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 49,
      "endLine" : 210,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 89,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 195,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 195,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 88,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 290,
      "endLine" : 447,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 290,
      "endLine" : 448,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 88,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 290,
      "endLine" : 447,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 289,
      "endLine" : 447,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 88,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 290,
      "endLine" : 447,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 292,
      "endLine" : 450,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 59,
      "endLine" : 197,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 61,
      "endLine" : 199,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 43,
      "endLine" : 194,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 44,
      "endLine" : 195,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 59,
      "endLine" : 197,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 61,
      "endLine" : 199,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 87,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 59,
      "endLine" : 197,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 61,
      "endLine" : 199,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 85,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 56,
      "endLine" : 152,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 56,
      "endLine" : 152,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 84,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 618,
      "endLine" : 753,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 388
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 600,
      "endLine" : 735,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 384
    } ]
  }, {
    "blockSize" : 84,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 61,
      "endLine" : 166,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 60,
      "endLine" : 165,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 80,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3308,
      "endLine" : 3479,
      "cleanedStartLine" : 1816,
      "cleanedEndLine" : 1895
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3318,
      "endLine" : 3489,
      "cleanedStartLine" : 1821,
      "cleanedEndLine" : 1900
    } ]
  }, {
    "blockSize" : 80,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 56,
      "endLine" : 195,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 57,
      "endLine" : 196,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 80,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 55,
      "endLine" : 194,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 57,
      "endLine" : 196,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 79,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 214,
      "endLine" : 314,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 214,
      "endLine" : 314,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 78,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark30HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 137,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 72,
      "endLine" : 185,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark31HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 73,
      "endLine" : 186,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 78,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark24HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 136,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 70,
      "endLine" : 183,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark31HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 73,
      "endLine" : 186,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 78,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark24HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 136,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 70,
      "endLine" : 183,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark30HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 137,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 72,
      "endLine" : 185,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 76,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 174,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 43,
      "endLine" : 175,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 76,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 407,
      "endLine" : 508,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 410,
      "endLine" : 511,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 76,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 174,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 43,
      "endLine" : 175,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 76,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 407,
      "endLine" : 508,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 409,
      "endLine" : 510,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 75,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 53,
      "endLine" : 142,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 71,
      "endLine" : 160,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 75,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 53,
      "endLine" : 142,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 70,
      "endLine" : 159,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 75,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 192,
      "endLine" : 297,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 204,
      "endLine" : 309,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 75,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 192,
      "endLine" : 297,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 203,
      "endLine" : 308,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 75,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 203,
      "endLine" : 308,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 204,
      "endLine" : 309,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 72,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 438,
      "endLine" : 533,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 334
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 440,
      "endLine" : 535,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 72,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 427,
      "endLine" : 522,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 324
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 440,
      "endLine" : 535,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 72,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 427,
      "endLine" : 522,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 324
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 438,
      "endLine" : 533,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 72,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 417,
      "endLine" : 512,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 320
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 438,
      "endLine" : 533,
      "cleanedStartLine" : 263,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 72,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 417,
      "endLine" : 512,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 320
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 440,
      "endLine" : 535,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 72,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 417,
      "endLine" : 512,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 320
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 427,
      "endLine" : 522,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 71,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 380,
      "endLine" : 511,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 312
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 386,
      "endLine" : 493,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 71,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 380,
      "endLine" : 511,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 312
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 386,
      "endLine" : 493,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 71,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 380,
      "endLine" : 511,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 312
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 386,
      "endLine" : 493,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 70,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 52,
      "endLine" : 149,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 51,
      "endLine" : 148,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 70,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 52,
      "endLine" : 149,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 51,
      "endLine" : 148,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 70,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 52,
      "endLine" : 149,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 51,
      "endLine" : 148,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 69,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3331,
      "endLine" : 3479,
      "cleanedStartLine" : 1827,
      "cleanedEndLine" : 1895
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3347,
      "endLine" : 3495,
      "cleanedStartLine" : 1834,
      "cleanedEndLine" : 1902
    } ]
  }, {
    "blockSize" : 69,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3341,
      "endLine" : 3489,
      "cleanedStartLine" : 1832,
      "cleanedEndLine" : 1900
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3347,
      "endLine" : 3495,
      "cleanedStartLine" : 1834,
      "cleanedEndLine" : 1902
    } ]
  }, {
    "blockSize" : 69,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3341,
      "endLine" : 3489,
      "cleanedStartLine" : 1832,
      "cleanedEndLine" : 1900
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3345,
      "endLine" : 3493,
      "cleanedStartLine" : 1834,
      "cleanedEndLine" : 1902
    } ]
  }, {
    "blockSize" : 69,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3331,
      "endLine" : 3479,
      "cleanedStartLine" : 1827,
      "cleanedEndLine" : 1895
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3345,
      "endLine" : 3493,
      "cleanedStartLine" : 1834,
      "cleanedEndLine" : 1902
    } ]
  }, {
    "blockSize" : 64,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 341,
      "endLine" : 410,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 348,
      "endLine" : 417,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 63,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 89,
      "endLine" : 196,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 195,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 63,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 87,
      "endLine" : 194,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 195,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 63,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 195,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 195,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 63,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 87,
      "endLine" : 194,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 195,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 63,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 195,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 195,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 63,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 89,
      "endLine" : 196,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 195,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 34,
      "endLine" : 115,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 34,
      "endLine" : 115,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 57,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/Int64TimestampColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 41,
      "endLine" : 116,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 280,
      "endLine" : 386,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 233
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 335,
      "endLine" : 446,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 279,
      "endLine" : 385,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 335,
      "endLine" : 446,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 280,
      "endLine" : 386,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 233
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 333,
      "endLine" : 443,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 279,
      "endLine" : 385,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 333,
      "endLine" : 444,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 279,
      "endLine" : 385,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 332,
      "endLine" : 443,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 279,
      "endLine" : 385,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 333,
      "endLine" : 443,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 280,
      "endLine" : 386,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 233
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 332,
      "endLine" : 443,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 361,
      "endLine" : 461,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 283
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 375,
      "endLine" : 475,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark30Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 121,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 36,
      "endLine" : 107,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark31Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 130,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 36,
      "endLine" : 109,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 280,
      "endLine" : 386,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 233
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 333,
      "endLine" : 444,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 54,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 365,
      "endLine" : 465,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 375,
      "endLine" : 475,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 358,
      "endLine" : 410,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 460,
      "endLine" : 512,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 320
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 358,
      "endLine" : 410,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 481,
      "endLine" : 533,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 358,
      "endLine" : 410,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 470,
      "endLine" : 522,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 358,
      "endLine" : 410,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 483,
      "endLine" : 535,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 365,
      "endLine" : 417,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 267
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 481,
      "endLine" : 533,
      "cleanedStartLine" : 282,
      "cleanedEndLine" : 334
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 365,
      "endLine" : 417,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 267
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 483,
      "endLine" : 535,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 365,
      "endLine" : 417,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 267
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 470,
      "endLine" : 522,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 324
    } ]
  }, {
    "blockSize" : 53,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 365,
      "endLine" : 417,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 267
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 460,
      "endLine" : 512,
      "cleanedStartLine" : 268,
      "cleanedEndLine" : 320
    } ]
  }, {
    "blockSize" : 52,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 366,
      "endLine" : 461,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 283
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 386,
      "endLine" : 457,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 52,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 370,
      "endLine" : 465,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 386,
      "endLine" : 457,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 52,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 366,
      "endLine" : 461,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 283
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 386,
      "endLine" : 457,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 52,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 370,
      "endLine" : 465,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 386,
      "endLine" : 457,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 52,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 370,
      "endLine" : 465,
      "cleanedStartLine" : 236,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 386,
      "endLine" : 457,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 52,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 366,
      "endLine" : 461,
      "cleanedStartLine" : 232,
      "cleanedEndLine" : 283
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 386,
      "endLine" : 457,
      "cleanedStartLine" : 242,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 50,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 293,
      "endLine" : 382,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 188
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 293,
      "endLine" : 382,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 50,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 88,
      "endLine" : 174,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 89,
      "endLine" : 175,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 50,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 87,
      "endLine" : 173,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 89,
      "endLine" : 175,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 50,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 89,
      "endLine" : 175,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 89,
      "endLine" : 175,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 77
    } ]
  }, {
    "blockSize" : 48,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 155,
      "endLine" : 216,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 174,
      "endLine" : 235,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 48,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 124,
      "endLine" : 187,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 127,
      "endLine" : 190,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 48,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 155,
      "endLine" : 216,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 173,
      "endLine" : 234,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 145
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 179,
      "endLine" : 225,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 257,
      "endLine" : 303,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 179,
      "endLine" : 225,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 257,
      "endLine" : 303,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 179,
      "endLine" : 225,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 257,
      "endLine" : 303,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 92,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 66,
      "endLine" : 124,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 94,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 65,
      "endLine" : 123,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 46,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 179,
      "endLine" : 225,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 257,
      "endLine" : 303,
      "cleanedStartLine" : 241,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 45,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 65,
      "endLine" : 121,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 69,
      "endLine" : 125,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 45,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark2Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 44,
      "endLine" : 100,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark30Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 121,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 49,
      "endLine" : 107,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 44,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/HoodieJavaEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 100,
      "endLine" : 171,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/engine/HoodieLocalEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 99,
      "endLine" : 170,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/HoodieInternalRowUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 323,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 389,
      "endLine" : 437,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 398,
      "endLine" : 453,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 350,
      "endLine" : 405,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 398,
      "endLine" : 453,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/HoodieInternalRowUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 323,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 389,
      "endLine" : 437,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 398,
      "endLine" : 453,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/HoodieInternalRowUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 323,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 389,
      "endLine" : 437,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 378,
      "endLine" : 457,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 350,
      "endLine" : 405,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 392,
      "endLine" : 471,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 193,
      "endLine" : 254,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 201,
      "endLine" : 262,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 350,
      "endLine" : 405,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 398,
      "endLine" : 453,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 193,
      "endLine" : 254,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 202,
      "endLine" : 263,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/HoodieInternalRowUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 323,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 389,
      "endLine" : 437,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 392,
      "endLine" : 471,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 350,
      "endLine" : 405,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 382,
      "endLine" : 461,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 350,
      "endLine" : 405,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 378,
      "endLine" : 457,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 350,
      "endLine" : 405,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 265
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 398,
      "endLine" : 453,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/HoodieInternalRowUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 323,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 389,
      "endLine" : 437,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 398,
      "endLine" : 453,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 292
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 193,
      "endLine" : 254,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 204,
      "endLine" : 265,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/HoodieInternalRowUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 323,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 389,
      "endLine" : 437,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 382,
      "endLine" : 461,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 286
    } ]
  }, {
    "blockSize" : 43,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/HoodieInternalRowUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 323,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 389,
      "endLine" : 437,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 350,
      "endLine" : 405,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 265
    } ]
  }, {
    "blockSize" : 41,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 28,
      "endLine" : 84,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 28,
      "endLine" : 84,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 40,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
        "extension" : "java",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 363,
      "endLine" : 420,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 257
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 314,
      "endLine" : 371,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 180
    } ]
  }, {
    "blockSize" : 39,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 363,
      "endLine" : 415,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 374,
      "endLine" : 426,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 39,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 353,
      "endLine" : 405,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 247
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 374,
      "endLine" : 426,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 39,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 353,
      "endLine" : 405,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 247
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 363,
      "endLine" : 415,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 39,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 194,
      "endLine" : 242,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 212,
      "endLine" : 262,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 39,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 194,
      "endLine" : 242,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 216,
      "endLine" : 266,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 38,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 108,
      "endLine" : 170,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 137,
      "endLine" : 199,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 38,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 108,
      "endLine" : 170,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 137,
      "endLine" : 199,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 38,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 108,
      "endLine" : 170,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 137,
      "endLine" : 199,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 38,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 108,
      "endLine" : 170,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 135,
      "endLine" : 197,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 294,
      "endLine" : 340,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 397,
      "endLine" : 443,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 294,
      "endLine" : 340,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 397,
      "endLine" : 443,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 294,
      "endLine" : 340,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 397,
      "endLine" : 443,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 37,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 294,
      "endLine" : 340,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 397,
      "endLine" : 443,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 398
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 244,
      "endLine" : 287,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 265,
      "endLine" : 308,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 244,
      "endLine" : 287,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 254,
      "endLine" : 297,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 244,
      "endLine" : 287,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 266,
      "endLine" : 309,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 36,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 242,
      "endLine" : 287,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 278,
      "endLine" : 323,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 312,
      "endLine" : 370,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 219
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 313,
      "endLine" : 371,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 253,
      "endLine" : 301,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 188
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 279,
      "endLine" : 327,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 203
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 291,
      "endLine" : 349,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 312,
      "endLine" : 370,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 291,
      "endLine" : 349,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 301,
      "endLine" : 359,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 209
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 291,
      "endLine" : 349,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 205
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 313,
      "endLine" : 371,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark24HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 136,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 81,
      "endLine" : 126,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 87,
      "endLine" : 132,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark31HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 84,
      "endLine" : 129,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 87,
      "endLine" : 132,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark30HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 137,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 83,
      "endLine" : 128,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 87,
      "endLine" : 132,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 87,
      "endLine" : 145,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 76,
      "endLine" : 134,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 242,
      "endLine" : 287,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 278,
      "endLine" : 323,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 301,
      "endLine" : 359,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 313,
      "endLine" : 371,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 301,
      "endLine" : 359,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 312,
      "endLine" : 370,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 35,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 253,
      "endLine" : 301,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 188
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 275,
      "endLine" : 323,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 99,
      "endLine" : 134,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 115,
      "endLine" : 150,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 100,
      "endLine" : 135,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 115,
      "endLine" : 150,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 99,
      "endLine" : 134,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 118,
      "endLine" : 153,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 100,
      "endLine" : 135,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 119,
      "endLine" : 154,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark31HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 133,
      "endLine" : 186,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 136,
      "endLine" : 189,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/AvroOrcUtils.java",
        "extension" : "java",
        "linesOfCode" : 703,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 608,
      "startLine" : 722,
      "endLine" : 761,
      "cleanedStartLine" : 488,
      "cleanedEndLine" : 521
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/AvroOrcUtils.java",
        "extension" : "java",
        "linesOfCode" : 703,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 608,
      "startLine" : 823,
      "endLine" : 860,
      "cleanedStartLine" : 563,
      "cleanedEndLine" : 596
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 100,
      "endLine" : 135,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 116,
      "endLine" : 151,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 99,
      "endLine" : 134,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 116,
      "endLine" : 151,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 99,
      "endLine" : 134,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 119,
      "endLine" : 154,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 100,
      "endLine" : 135,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 118,
      "endLine" : 153,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 78,
      "endLine" : 127,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 63,
      "endLine" : 112,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 82,
      "endLine" : 117,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 115,
      "endLine" : 150,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 82,
      "endLine" : 117,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 119,
      "endLine" : 154,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark30HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 137,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 132,
      "endLine" : 185,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 136,
      "endLine" : 189,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 189,
      "endLine" : 241,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 204,
      "endLine" : 256,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 82,
      "endLine" : 117,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 116,
      "endLine" : 151,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 189,
      "endLine" : 241,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 203,
      "endLine" : 255,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 82,
      "endLine" : 117,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 118,
      "endLine" : 153,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark24HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 136,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 130,
      "endLine" : 183,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 136,
      "endLine" : 189,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 34,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 189,
      "endLine" : 241,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 192,
      "endLine" : 244,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 194,
      "endLine" : 251,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 199,
      "endLine" : 255,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 231,
      "endLine" : 277,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 260,
      "endLine" : 318,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowArchivedCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 47,
      "endLine" : 84,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 120,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 44,
      "endLine" : 81,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 231,
      "endLine" : 277,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 261,
      "endLine" : 319,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 166,
      "endLine" : 209,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 159,
      "endLine" : 202,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/FixedLenBytesColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 38,
      "endLine" : 81,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 33,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark30ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 236,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 198,
      "endLine" : 247,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark31ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 198,
      "endLine" : 247,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 69,
      "endLine" : 103,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 74,
      "endLine" : 108,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 65,
      "endLine" : 99,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 74,
      "endLine" : 108,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 246,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 180,
      "endLine" : 224,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/UpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 281,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 228,
      "endLine" : 272,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 69,
      "endLine" : 103,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 75,
      "endLine" : 109,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 65,
      "endLine" : 99,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 75,
      "endLine" : 109,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapMapColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 77,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetDataColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 30,
      "endLine" : 197,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 31,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 34,
      "endLine" : 101,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 33,
      "endLine" : 100,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 98,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 74,
      "endLine" : 106,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 148,
      "endLine" : 190,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 160,
      "endLine" : 202,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 66,
      "endLine" : 98,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 69,
      "endLine" : 101,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 66,
      "endLine" : 98,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 74,
      "endLine" : 106,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 293,
      "endLine" : 332,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 300,
      "endLine" : 339,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 66,
      "endLine" : 98,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 65,
      "endLine" : 97,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 98,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 65,
      "endLine" : 97,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 145,
      "endLine" : 187,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 159,
      "endLine" : 201,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 145,
      "endLine" : 187,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 160,
      "endLine" : 202,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 98,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 69,
      "endLine" : 101,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 148,
      "endLine" : 190,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 159,
      "endLine" : 201,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 66,
      "endLine" : 98,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 75,
      "endLine" : 107,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 30,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 98,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 75,
      "endLine" : 107,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 818,
      "endLine" : 876,
      "cleanedStartLine" : 424,
      "cleanedEndLine" : 452
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 755,
      "endLine" : 813,
      "cleanedStartLine" : 398,
      "cleanedEndLine" : 426
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1042,
      "endLine" : 1079,
      "cleanedStartLine" : 926,
      "cleanedEndLine" : 954
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1886,
      "endLine" : 1923,
      "cleanedStartLine" : 1718,
      "cleanedEndLine" : 1746
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowArchivedCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 114,
      "endLine" : 155,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 120,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 97,
      "endLine" : 138,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 79,
      "endLine" : 125,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 83,
      "endLine" : 129,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1042,
      "endLine" : 1079,
      "cleanedStartLine" : 926,
      "cleanedEndLine" : 954
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1886,
      "endLine" : 1923,
      "cleanedStartLine" : 1718,
      "cleanedEndLine" : 1746
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1042,
      "endLine" : 1079,
      "cleanedStartLine" : 926,
      "cleanedEndLine" : 954
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1886,
      "endLine" : 1923,
      "cleanedStartLine" : 1718,
      "cleanedEndLine" : 1746
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/cdc/CDCFileGroupIterator.scala",
        "extension" : "scala",
        "linesOfCode" : 415,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 331,
      "startLine" : 79,
      "endLine" : 119,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/cdc/HoodieCDCRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 439,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 351,
      "startLine" : 119,
      "endLine" : 159,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 32,
      "endLine" : 74,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 32,
      "endLine" : 74,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 29,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1042,
      "endLine" : 1079,
      "cleanedStartLine" : 926,
      "cleanedEndLine" : 954
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1886,
      "endLine" : 1923,
      "cleanedStartLine" : 1718,
      "cleanedEndLine" : 1746
    } ]
  }, {
    "blockSize" : 28,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 34,
      "endLine" : 84,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 35,
      "endLine" : 85,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 141,
      "endLine" : 175,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 168,
      "endLine" : 202,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 137,
      "endLine" : 171,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 168,
      "endLine" : 202,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 137,
      "endLine" : 171,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 168,
      "endLine" : 202,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 141,
      "endLine" : 175,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 154,
      "endLine" : 188,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/hudi/Spark34ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 66,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/hudi/Spark35ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 66,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 137,
      "endLine" : 171,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 168,
      "endLine" : 202,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
        "extension" : "java",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 310,
      "endLine" : 341,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 246,
      "endLine" : 277,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 141,
      "endLine" : 175,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 168,
      "endLine" : 202,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 122,
      "endLine" : 156,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 144,
      "endLine" : 178,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 137,
      "endLine" : 171,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 154,
      "endLine" : 188,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 141,
      "endLine" : 175,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 168,
      "endLine" : 202,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 122,
      "endLine" : 156,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 140,
      "endLine" : 174,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 27,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/MapColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 35,
      "endLine" : 73,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/FlinkClusteringConfig.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 103,
      "endLine" : 140,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/FlinkStreamerConfig.java",
        "extension" : "java",
        "linesOfCode" : 378,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 350,
      "startLine" : 283,
      "endLine" : 320,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 70,
      "endLine" : 97,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 60,
      "endLine" : 87,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 266,
      "endLine" : 291,
      "cleanedStartLine" : 243,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 310,
      "endLine" : 335,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 312
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark30SqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 42,
      "endLine" : 122,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark31SqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 42,
      "endLine" : 122,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/FlinkHoodieIndex.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 41,
      "endLine" : 72,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/index/JavaHoodieIndex.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 69,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 26,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapArrayVector.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 31,
      "endLine" : 68,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 122,
      "endLine" : 153,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 157,
      "endLine" : 188,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 122,
      "endLine" : 153,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 171,
      "endLine" : 202,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 60,
      "endLine" : 91,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 66,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 58,
      "endLine" : 89,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 122,
      "endLine" : 153,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 171,
      "endLine" : 202,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 81,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 81,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 416,
      "endLine" : 448,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 285,
      "endLine" : 317,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 194,
      "endLine" : 237,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 202,
      "endLine" : 244,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 81,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 43,
      "endLine" : 82,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 81,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 81,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 122,
      "endLine" : 153,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 171,
      "endLine" : 202,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 76,
      "endLine" : 113,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 76,
      "endLine" : 113,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 246,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 293,
      "endLine" : 337,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/UpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 281,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 353,
      "endLine" : 397,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 198
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 194,
      "endLine" : 237,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 213,
      "endLine" : 255,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 25,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 194,
      "endLine" : 237,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 214,
      "endLine" : 256,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 99,
      "endLine" : 144,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 89,
      "endLine" : 134,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 100,
      "endLine" : 132,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 103,
      "endLine" : 135,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 100,
      "endLine" : 132,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 103,
      "endLine" : 135,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 79,
      "endLine" : 115,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 77,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 24,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 79,
      "endLine" : 115,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 77,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark2Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 169,
      "endLine" : 201,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark30Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 121,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 152,
      "endLine" : 184,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 43,
      "endLine" : 80,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 45,
      "endLine" : 82,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 423,
      "endLine" : 452,
      "cleanedStartLine" : 377,
      "cleanedEndLine" : 399
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 622,
      "endLine" : 651,
      "cleanedStartLine" : 550,
      "cleanedEndLine" : 572
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 52,
      "endLine" : 82,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 51,
      "endLine" : 81,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 309,
      "endLine" : 339,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 378,
      "endLine" : 408,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 302,
      "endLine" : 332,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 378,
      "endLine" : 408,
      "cleanedStartLine" : 225,
      "cleanedEndLine" : 247
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 205,
      "endLine" : 232,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 319,
      "endLine" : 346,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 229
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark30Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 121,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 152,
      "endLine" : 184,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/catalyst/analysis/HoodieSpark31Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 130,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 100,
      "startLine" : 178,
      "endLine" : 210,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 100
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 214,
      "endLine" : 240,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 251,
      "endLine" : 276,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 302,
      "endLine" : 332,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 368,
      "endLine" : 398,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 243
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 309,
      "endLine" : 339,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 389,
      "endLine" : 419,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 423,
      "endLine" : 452,
      "cleanedStartLine" : 377,
      "cleanedEndLine" : 399
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 622,
      "endLine" : 651,
      "cleanedStartLine" : 550,
      "cleanedEndLine" : 572
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 423,
      "endLine" : 452,
      "cleanedStartLine" : 377,
      "cleanedEndLine" : 399
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 622,
      "endLine" : 651,
      "cleanedStartLine" : 550,
      "cleanedEndLine" : 572
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark30ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 236,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 111,
      "endLine" : 140,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark31ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 111,
      "endLine" : 140,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 309,
      "endLine" : 339,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 368,
      "endLine" : 398,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 243
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 302,
      "endLine" : 332,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 389,
      "endLine" : 419,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 43,
      "endLine" : 80,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 44,
      "endLine" : 81,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 118,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 46,
      "endLine" : 75,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 214,
      "endLine" : 240,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 135
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 251,
      "endLine" : 276,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 423,
      "endLine" : 452,
      "cleanedStartLine" : 377,
      "cleanedEndLine" : 399
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 622,
      "endLine" : 651,
      "cleanedStartLine" : 550,
      "cleanedEndLine" : 572
    } ]
  }, {
    "blockSize" : 23,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 43,
      "endLine" : 80,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 44,
      "endLine" : 81,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 614,
      "endLine" : 641,
      "cleanedStartLine" : 536,
      "cleanedEndLine" : 557
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 883,
      "endLine" : 910,
      "cleanedStartLine" : 766,
      "cleanedEndLine" : 787
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 86,
      "endLine" : 113,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 109,
      "endLine" : 136,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieBaseRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 532,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 425,
      "startLine" : 165,
      "endLine" : 198,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieHadoopFsRelationFactory.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 90,
      "endLine" : 123,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 86,
      "endLine" : 113,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 109,
      "endLine" : 136,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 614,
      "endLine" : 641,
      "cleanedStartLine" : 536,
      "cleanedEndLine" : 557
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 883,
      "endLine" : 910,
      "cleanedStartLine" : 766,
      "cleanedEndLine" : 787
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 21,
      "endLine" : 42,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/FlinkClusteringConfig.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 65,
      "endLine" : 91,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/FlinkCompactionConfig.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 81,
      "endLine" : 107,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 614,
      "endLine" : 641,
      "cleanedStartLine" : 536,
      "cleanedEndLine" : 557
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 883,
      "endLine" : 910,
      "cleanedStartLine" : 766,
      "cleanedEndLine" : 787
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 26,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 22,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 614,
      "endLine" : 641,
      "cleanedStartLine" : 536,
      "cleanedEndLine" : 557
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 883,
      "endLine" : 910,
      "cleanedStartLine" : 766,
      "cleanedEndLine" : 787
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 28,
      "endLine" : 48,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 40,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 28,
      "endLine" : 48,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 40,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 28,
      "endLine" : 48,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 40,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 21,
      "endLine" : 41,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 40,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 209,
      "endLine" : 236,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BaseSparkCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 303,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 307,
      "endLine" : 334,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 219,
      "endLine" : 251,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 223,
      "endLine" : 255,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 28,
      "endLine" : 48,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 40,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 155,
      "endLine" : 189,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 179,
      "endLine" : 213,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 155,
      "endLine" : 189,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 155,
      "endLine" : 189,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 21,
      "endLine" : 41,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 40,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 552,
      "endLine" : 617,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 304
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 529,
      "endLine" : 594,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 297
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieMultiWriterTestSuiteJob.java",
        "extension" : "java",
        "linesOfCode" : 157,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 204,
      "endLine" : 224,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
        "extension" : "java",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 234,
      "endLine" : 254,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 46,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 46,
      "endLine" : 70,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 607,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 686,
      "endLine" : 718,
      "cleanedStartLine" : 419,
      "cleanedEndLine" : 439
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 860,
      "endLine" : 892,
      "cleanedStartLine" : 493,
      "cleanedEndLine" : 513
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 21,
      "endLine" : 41,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 40,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 155,
      "endLine" : 189,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 179,
      "endLine" : 213,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 21,
      "endLine" : 41,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 40,
      "endLine" : 60,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 21,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 223,
      "endLine" : 255,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 224,
      "endLine" : 255,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packaging/bundle-validation/conf/hive-site.hive2.xml",
        "extension" : "xml",
        "linesOfCode" : 36,
        "components" : [ "primary::packaging" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "packaging/bundle-validation/conf/hive-site.xml",
        "extension" : "xml",
        "linesOfCode" : 36,
        "components" : [ "primary::packaging" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 42,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 32,
      "endLine" : 73,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 32,
      "endLine" : 73,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/common/HoodieFlinkEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 157,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 114,
      "endLine" : 139,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/engine/HoodieLocalEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 93,
      "endLine" : 118,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 250,
      "endLine" : 277,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 333,
      "endLine" : 377,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 32,
      "endLine" : 73,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 31,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 32,
      "endLine" : 73,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 32,
      "endLine" : 73,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/hudi/execution/RangeSample.scala",
        "extension" : "scala",
        "linesOfCode" : 433,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 106,
      "endLine" : 128,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/spark/sql/hudi/execution/RangeSample.scala",
        "extension" : "scala",
        "linesOfCode" : 433,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 353,
      "startLine" : 139,
      "endLine" : 161,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 32,
      "endLine" : 73,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 31,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 250,
      "endLine" : 277,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 332,
      "endLine" : 376,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/HStatments.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 26,
      "endLine" : 66,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/catalyst/plans/logical/HStatments.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 26,
      "endLine" : 66,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 32,
      "endLine" : 73,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 31,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 76,
      "endLine" : 101,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 79,
      "endLine" : 104,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 250,
      "endLine" : 277,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 333,
      "endLine" : 376,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 69,
      "endLine" : 88,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 97,
      "endLine" : 116,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 32,
      "endLine" : 73,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33DataSourceUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 32,
      "endLine" : 73,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieDataSourceInternalWriter.java",
        "extension" : "java",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 68,
      "endLine" : 96,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalBatchWrite.java",
        "extension" : "java",
        "linesOfCode" : 66,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 69,
      "endLine" : 97,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1417,
      "endLine" : 1436,
      "cleanedStartLine" : 1262,
      "cleanedEndLine" : 1281
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1163,
      "endLine" : 1182,
      "cleanedStartLine" : 1010,
      "cleanedEndLine" : 1029
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 250,
      "endLine" : 277,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 335,
      "endLine" : 379,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 100,
      "endLine" : 125,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 100,
      "endLine" : 125,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 108,
      "endLine" : 134,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 120,
      "endLine" : 146,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
        "extension" : "java",
        "linesOfCode" : 584,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 321,
      "endLine" : 346,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 159
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
        "extension" : "java",
        "linesOfCode" : 584,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 521,
      "endLine" : 546,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ArchiveTask.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 57,
      "endLine" : 102,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/CleanTask.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 50,
      "endLine" : 95,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 298,
      "endLine" : 323,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 310,
      "endLine" : 335,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 125,
      "endLine" : 175,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordScanner.java",
        "extension" : "java",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 156,
      "endLine" : 206,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 298,
      "endLine" : 323,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 310,
      "endLine" : 335,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 115,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/common/HoodieFlinkEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 157,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 153,
      "endLine" : 190,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/engine/HoodieLocalEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 134,
      "endLine" : 170,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 71
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieBulkInsertDataInternalWriter.java",
        "extension" : "java",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 45,
      "endLine" : 71,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieBulkInsertDataInternalWriter.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 46,
      "endLine" : 72,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 397,
      "endLine" : 433,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 392,
      "endLine" : 429,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 108,
      "endLine" : 134,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 120,
      "endLine" : 146,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieKeyBasedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 139,
      "endLine" : 166,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodiePositionBasedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 154,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 182,
      "endLine" : 210,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 298,
      "endLine" : 323,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 203
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 310,
      "endLine" : 335,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 108,
      "endLine" : 134,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 120,
      "endLine" : 146,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 100,
      "endLine" : 125,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 100,
      "endLine" : 125,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/common/HoodieFlinkEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 157,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 153,
      "endLine" : 190,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/HoodieJavaEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 135,
      "endLine" : 171,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 86,
      "endLine" : 109,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 112,
      "endLine" : 135,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 108,
      "endLine" : 134,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 121,
      "endLine" : 147,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/hudi/Spark32ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 43,
      "endLine" : 66,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/Spark33ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 43,
      "endLine" : 66,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 100,
      "endLine" : 125,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 100,
      "endLine" : 125,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/MaskingOutputAdapter.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 30,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 19,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 262,
      "endLine" : 291,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 268,
      "endLine" : 297,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 170
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 55,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 75,
      "endLine" : 92,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 46,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 56,
      "endLine" : 75,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 46,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 56,
      "endLine" : 75,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 262,
      "endLine" : 283,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 285,
      "endLine" : 306,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 205,
      "endLine" : 227,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 273,
      "endLine" : 295,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 55,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 74,
      "endLine" : 91,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 87,
      "endLine" : 111,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 46,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 56,
      "endLine" : 75,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 87,
      "endLine" : 111,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 87,
      "endLine" : 111,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 87,
      "endLine" : 111,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 57,
      "endLine" : 75,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 59,
      "endLine" : 77,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 87,
      "endLine" : 111,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 51,
      "endLine" : 76,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 46,
      "endLine" : 71,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 119,
      "endLine" : 138,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 126,
      "endLine" : 145,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark30ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 236,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 165,
      "endLine" : 189,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark31ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 165,
      "endLine" : 189,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 46,
      "endLine" : 63,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 69,
      "endLine" : 86,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 46,
      "endLine" : 63,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 97,
      "endLine" : 114,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 66,
      "endLine" : 83,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 87,
      "endLine" : 104,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 55,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 65,
      "endLine" : 82,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 52,
      "endLine" : 77,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 46,
      "endLine" : 71,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 76,
      "endLine" : 100,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 143,
      "endLine" : 163,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 322,
      "endLine" : 342,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 55,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 83,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 55,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 69,
      "endLine" : 86,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 76,
      "endLine" : 100,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 46,
      "endLine" : 65,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 56,
      "endLine" : 75,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 76,
      "endLine" : 100,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 89,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 104,
      "endLine" : 126,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 103,
      "endLine" : 125,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 55,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 66,
      "endLine" : 83,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 266,
      "endLine" : 287,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 285,
      "endLine" : 306,
      "cleanedStartLine" : 174,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 76,
      "endLine" : 100,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 87,
      "endLine" : 111,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 19,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 273,
      "endLine" : 295,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 319,
      "endLine" : 341,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 224
    } ]
  }, {
    "blockSize" : 18,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RowColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 32,
      "endLine" : 58,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitExtraMetadataProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 107,
      "endLine" : 127,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 85,
      "endLine" : 105,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 401,
      "endLine" : 426,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 261
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 403,
      "endLine" : 428,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 93,
      "endLine" : 113,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 85,
      "endLine" : 105,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 390,
      "endLine" : 415,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 403,
      "endLine" : 428,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 119,
      "endLine" : 145,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 137,
      "endLine" : 163,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 119,
      "endLine" : 145,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 137,
      "endLine" : 163,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 103,
      "endLine" : 124,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 104,
      "endLine" : 125,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 132,
      "endLine" : 154,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 131,
      "endLine" : 153,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitExtraMetadataProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 107,
      "endLine" : 127,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 93,
      "endLine" : 113,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 103,
      "endLine" : 124,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 104,
      "endLine" : 125,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 119,
      "endLine" : 145,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 137,
      "endLine" : 163,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 119,
      "endLine" : 145,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 135,
      "endLine" : 161,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 37,
      "endLine" : 58,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 35,
      "endLine" : 56,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 103,
      "endLine" : 124,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 104,
      "endLine" : 125,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 380,
      "endLine" : 405,
      "cleanedStartLine" : 231,
      "cleanedEndLine" : 247
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 403,
      "endLine" : 428,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 262
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 108,
      "endLine" : 128,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 85,
      "endLine" : 105,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 159,
      "endLine" : 177,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 168,
      "endLine" : 186,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 155
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 246,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 106,
      "endLine" : 128,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/UpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 281,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 112,
      "endLine" : 134,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/HoodieSparkParquetStreamWriter.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 72,
      "endLine" : 97,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieParquetStreamWriter.java",
        "extension" : "java",
        "linesOfCode" : 67,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 78,
      "endLine" : 103,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/HoodieSparkRecordMerger.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 45,
      "endLine" : 73,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/HoodieSparkRecordMerger.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 82,
      "endLine" : 110,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitExtraMetadataProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 107,
      "endLine" : 127,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 108,
      "endLine" : 128,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 519,
      "endLine" : 536,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 610,
      "endLine" : 627,
      "cleanedStartLine" : 428,
      "cleanedEndLine" : 444
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 93,
      "endLine" : 113,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 108,
      "endLine" : 128,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMergeArchiveFilePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestorePlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSavePointMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFileStatus.avsc",
        "extension" : "avsc",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRollbackMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRestoreMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodiePath.avsc",
        "extension" : "avsc",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapIndexInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1472,
      "endLine" : 1488,
      "cleanedStartLine" : 1317,
      "cleanedEndLine" : 1333
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1209,
      "endLine" : 1225,
      "cleanedStartLine" : 1056,
      "cleanedEndLine" : 1072
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieLSMTimelineInstant.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieFSPermission.avsc",
        "extension" : "avsc",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 17,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieInstantInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 1,
      "endLine" : 17,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 57,
      "endLine" : 82,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 57,
      "endLine" : 82,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 288,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 375,
      "endLine" : 397,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 173
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 288,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 437,
      "endLine" : 459,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/FlinkClusteringConfig.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 65,
      "endLine" : 83,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/FlinkStreamerConfig.java",
        "extension" : "java",
        "linesOfCode" : 378,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 350,
      "startLine" : 325,
      "endLine" : 343,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/JavaSizeBasedClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 54,
      "endLine" : 77,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/SparkSizeBasedClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 54,
      "endLine" : 77,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1018,
      "endLine" : 1037,
      "cleanedStartLine" : 907,
      "cleanedEndLine" : 922
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1853,
      "endLine" : 1872,
      "cleanedStartLine" : 1692,
      "cleanedEndLine" : 1707
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/FlinkCompactionConfig.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 81,
      "endLine" : 99,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/FlinkStreamerConfig.java",
        "extension" : "java",
        "linesOfCode" : 378,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 350,
      "startLine" : 325,
      "endLine" : 343,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 211
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 57,
      "endLine" : 82,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 56,
      "endLine" : 81,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 455,
      "endLine" : 471,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 311
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 611,
      "endLine" : 627,
      "cleanedStartLine" : 429,
      "cleanedEndLine" : 444
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 455,
      "endLine" : 471,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 311
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 520,
      "endLine" : 536,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 367
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 52,
      "endLine" : 76,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 51,
      "endLine" : 75,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 52,
      "endLine" : 76,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 51,
      "endLine" : 75,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 1007,
      "endLine" : 1036,
      "cleanedStartLine" : 522,
      "cleanedEndLine" : 537
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 848,
      "endLine" : 877,
      "cleanedStartLine" : 445,
      "cleanedEndLine" : 460
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1018,
      "endLine" : 1037,
      "cleanedStartLine" : 907,
      "cleanedEndLine" : 922
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1853,
      "endLine" : 1872,
      "cleanedStartLine" : 1692,
      "cleanedEndLine" : 1707
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 158,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 153,
      "endLine" : 177,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 197,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 221,
      "endLine" : 244,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/adapter/Spark2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 170,
      "endLine" : 187,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_0Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 99,
      "endLine" : 119,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 56,
      "endLine" : 74,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 56,
      "endLine" : 74,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 281,
      "endLine" : 297,
      "cleanedStartLine" : 240,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 211,
      "endLine" : 227,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 53,
      "endLine" : 76,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/JavaSizeBasedClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 54,
      "endLine" : 77,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1018,
      "endLine" : 1037,
      "cleanedStartLine" : 907,
      "cleanedEndLine" : 922
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1853,
      "endLine" : 1872,
      "cleanedStartLine" : 1692,
      "cleanedEndLine" : 1707
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/common/HoodieFlinkEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 157,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 120,
      "endLine" : 139,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/HoodieJavaEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 100,
      "endLine" : 119,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 53,
      "endLine" : 76,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/SparkSizeBasedClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 54,
      "endLine" : 77,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 140,
      "endLine" : 157,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 148,
      "endLine" : 165,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 1,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1018,
      "endLine" : 1037,
      "cleanedStartLine" : 907,
      "cleanedEndLine" : 922
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1853,
      "endLine" : 1872,
      "cleanedStartLine" : 1692,
      "cleanedEndLine" : 1707
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapRowColumnVector.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 16,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 57,
      "endLine" : 82,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 56,
      "endLine" : 81,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 305,
      "endLine" : 320,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 276
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 234,
      "endLine" : 249,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 208,
      "endLine" : 224,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 247,
      "endLine" : 263,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 270,
      "endLine" : 288,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 264
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 361,
      "endLine" : 379,
      "cleanedStartLine" : 332,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 474,
      "endLine" : 492,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 432
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 673,
      "endLine" : 691,
      "cleanedStartLine" : 591,
      "cleanedEndLine" : 605
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 270,
      "endLine" : 288,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 264
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 361,
      "endLine" : 379,
      "cleanedStartLine" : 332,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 207,
      "endLine" : 223,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 238,
      "endLine" : 254,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 107,
      "endLine" : 121,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 110,
      "endLine" : 124,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 47,
      "endLine" : 63,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkBulkInsertDeltaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 49,
      "endLine" : 65,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 86,
      "endLine" : 101,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 89,
      "endLine" : 104,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 107,
      "endLine" : 121,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 111,
      "endLine" : 125,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/coordinator.properties.mustache",
        "extension" : "mustache",
        "linesOfCode" : 21,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/node.properties.mustache",
        "extension" : "mustache",
        "linesOfCode" : 18,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 208,
      "endLine" : 224,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 249,
      "endLine" : 265,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeletePartitionCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 80,
      "endLine" : 96,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkDeletePartitionCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 67,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 77,
      "endLine" : 93,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 207,
      "endLine" : 223,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 247,
      "endLine" : 263,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/JavaTaskContextSupplier.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 28,
      "endLine" : 50,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/engine/LocalTaskContextSupplier.java",
        "extension" : "java",
        "linesOfCode" : 25,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 29,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 411,
      "endLine" : 430,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 241,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 237,
      "endLine" : 256,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/jvm.config.mustache",
        "extension" : "mustache",
        "linesOfCode" : 24,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/node.properties.mustache",
        "extension" : "mustache",
        "linesOfCode" : 18,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 189,
      "endLine" : 205,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 246,
      "endLine" : 262,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/OpenJ9MemoryLayoutSpecification32bit.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 26,
      "endLine" : 48,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/OpenJ9MemoryLayoutSpecification64bitCompressed.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 26,
      "endLine" : 48,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark30ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 236,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 261,
      "endLine" : 280,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark31ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 261,
      "endLine" : 280,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/coordinator.properties.mustache",
        "extension" : "mustache",
        "linesOfCode" : 21,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/worker.properties.mustache",
        "extension" : "mustache",
        "linesOfCode" : 19,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 86,
      "endLine" : 101,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 106,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 71,
      "endLine" : 85,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 95,
      "endLine" : 109,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 86,
      "endLine" : 101,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 89,
      "endLine" : 104,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/jvm.config.mustache",
        "extension" : "mustache",
        "linesOfCode" : 24,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/worker.properties.mustache",
        "extension" : "mustache",
        "linesOfCode" : 19,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 189,
      "endLine" : 205,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 247,
      "endLine" : 263,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 192,
      "endLine" : 217,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 268,
      "endLine" : 293,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 207,
      "endLine" : 223,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 249,
      "endLine" : 265,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 270,
      "endLine" : 288,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 264
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 361,
      "endLine" : 379,
      "cleanedStartLine" : 332,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 474,
      "endLine" : 492,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 432
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 673,
      "endLine" : 691,
      "cleanedStartLine" : 591,
      "cleanedEndLine" : 605
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 192,
      "endLine" : 217,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 262,
      "endLine" : 287,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 162
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/coordinator.properties.mustache",
        "extension" : "mustache",
        "linesOfCode" : 21,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/jvm.config.mustache",
        "extension" : "mustache",
        "linesOfCode" : 24,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 270,
      "endLine" : 288,
      "cleanedStartLine" : 250,
      "cleanedEndLine" : 264
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 361,
      "endLine" : 379,
      "cleanedStartLine" : 332,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 208,
      "endLine" : 224,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 238,
      "endLine" : 254,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/node.properties.mustache",
        "extension" : "mustache",
        "linesOfCode" : 18,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "docker/hoodie/hadoop/prestobase/etc/worker.properties.mustache",
        "extension" : "mustache",
        "linesOfCode" : 19,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 19,
      "startLine" : 2,
      "endLine" : 16,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/command/CreateHoodieTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 180,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 66,
      "endLine" : 88,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/command/CreateHoodieTableLikeCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 87,
      "endLine" : 109,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 208,
      "endLine" : 224,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 246,
      "endLine" : 262,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-timeline-service/src/main/java/org/apache/hudi/timeline/service/TimelineService.java",
        "extension" : "java",
        "linesOfCode" : 365,
        "components" : [ "primary::hudi-timeline-service" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 293,
      "startLine" : 85,
      "endLine" : 103,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/perf/TimelineServerPerf.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 287,
      "endLine" : 305,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 175
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 246,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 236,
      "endLine" : 264,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/UpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 281,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 287,
      "endLine" : 315,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 189,
      "endLine" : 205,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 249,
      "endLine" : 265,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/metadata/FlinkHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 131,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 90,
      "endLine" : 112,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/metadata/JavaHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 80,
      "endLine" : 101,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 474,
      "endLine" : 492,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 432
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 673,
      "endLine" : 691,
      "cleanedStartLine" : 591,
      "cleanedEndLine" : 605
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 107,
      "endLine" : 121,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 111,
      "endLine" : 125,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 189,
      "endLine" : 205,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 238,
      "endLine" : 254,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 474,
      "endLine" : 492,
      "cleanedStartLine" : 418,
      "cleanedEndLine" : 432
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 673,
      "endLine" : 691,
      "cleanedStartLine" : 591,
      "cleanedEndLine" : 605
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 107,
      "endLine" : 121,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 111,
      "endLine" : 125,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java",
        "extension" : "java",
        "linesOfCode" : 1273,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1800,
      "endLine" : 1820,
      "cleanedStartLine" : 877,
      "cleanedEndLine" : 891
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java",
        "extension" : "java",
        "linesOfCode" : 1273,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1896,
      "endLine" : 1916,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 966
    } ]
  }, {
    "blockSize" : 15,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 207,
      "endLine" : 223,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 246,
      "endLine" : 262,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 208,
      "endLine" : 221,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 134,
      "endLine" : 153,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 91,
      "endLine" : 110,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/HoodieJavaEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 67,
      "endLine" : 90,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/engine/HoodieLocalEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 64,
      "endLine" : 87,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 231,
      "endLine" : 247,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 312,
      "endLine" : 328,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 65,
      "endLine" : 86,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 188,
      "endLine" : 209,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 38,
      "endLine" : 56,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 40,
      "endLine" : 58,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 208,
      "endLine" : 221,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark33Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 40,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark34Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 40,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 226,
      "endLine" : 239,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 72,
      "endLine" : 87,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 31,
      "endLine" : 46,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/DefaultHoodieRecordPayload.java",
        "extension" : "java",
        "linesOfCode" : 126,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 169,
      "endLine" : 192,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FirstValueAvroPayload.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 101,
      "endLine" : 121,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 373,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 163,
      "endLine" : 177,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieIncrementalFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 56,
      "endLine" : 70,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 135,
      "endLine" : 154,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 91,
      "endLine" : 110,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 54,
      "endLine" : 69,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 55,
      "endLine" : 70,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark30ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 236,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 56,
      "endLine" : 74,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark31ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 56,
      "endLine" : 74,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 57,
      "endLine" : 84,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 58,
      "endLine" : 85,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 231,
      "endLine" : 247,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 312,
      "endLine" : 328,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark32Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 40,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark33Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 40,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/SchemaProvider.java",
        "extension" : "java",
        "linesOfCode" : 26,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 35,
      "endLine" : 57,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/SchemaProvider.java",
        "extension" : "java",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 35,
      "endLine" : 57,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 231,
      "endLine" : 247,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 312,
      "endLine" : 328,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 65,
      "endLine" : 86,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 188,
      "endLine" : 209,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 230,
      "endLine" : 243,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 249,
      "endLine" : 262,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 54,
      "endLine" : 69,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 55,
      "endLine" : 70,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 41,
      "endLine" : 55,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 43,
      "endLine" : 57,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 37,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 38,
      "endLine" : 56,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 230,
      "endLine" : 243,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 56,
      "endLine" : 69,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 301,
      "endLine" : 314,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 241
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 104,
      "endLine" : 125,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 120,
      "endLine" : 141,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 104,
      "endLine" : 125,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 120,
      "endLine" : 141,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieKeyBasedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 52,
      "endLine" : 67,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodiePositionBasedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 154,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 59,
      "endLine" : 74,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 65,
      "endLine" : 86,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 188,
      "endLine" : 209,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 57,
      "endLine" : 84,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 58,
      "endLine" : 85,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 104,
      "endLine" : 125,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 121,
      "endLine" : 142,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 499,
      "endLine" : 519,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 101,
      "endLine" : 120,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 77,
      "endLine" : 93,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 77,
      "endLine" : 93,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 37,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 40,
      "endLine" : 58,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 104,
      "endLine" : 125,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 120,
      "endLine" : 141,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 230,
      "endLine" : 243,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatReader.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 112,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatReverseReader.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 107,
      "endLine" : 128,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 226,
      "endLine" : 239,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 49,
      "endLine" : 62,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 87,
      "endLine" : 100,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 49,
      "endLine" : 62,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 66,
      "endLine" : 79,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 38,
      "endLine" : 56,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 38,
      "endLine" : 56,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 261,
      "endLine" : 279,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 125
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 304,
      "endLine" : 322,
      "cleanedStartLine" : 140,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 226,
      "endLine" : 239,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 244,
      "endLine" : 261,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 301,
      "endLine" : 318,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSingleFileSortExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 62,
      "endLine" : 79,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSingleFileSortExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 90,
      "endLine" : 106,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 94,
      "endLine" : 108,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 100,
      "endLine" : 114,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 208,
      "endLine" : 221,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 249,
      "endLine" : 262,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 244,
      "endLine" : 261,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 301,
      "endLine" : 318,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark32Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 40,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark34Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 40,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 208,
      "endLine" : 221,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 59,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 59,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 32,
      "endLine" : 45,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 66,
      "endLine" : 79,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 244,
      "endLine" : 261,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 301,
      "endLine" : 318,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 32,
      "endLine" : 45,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 87,
      "endLine" : 100,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 32,
      "endLine" : 45,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 49,
      "endLine" : 62,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieDataSourceHelper.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 120,
      "endLine" : 151,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 34,
      "endLine" : 65,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 230,
      "endLine" : 243,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 226,
      "endLine" : 239,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 249,
      "endLine" : 262,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 158
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 57,
      "endLine" : 84,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 59,
      "endLine" : 86,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 14,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 231,
      "endLine" : 247,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 232
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 312,
      "endLine" : 328,
      "cleanedStartLine" : 293,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 34,
      "endLine" : 48,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 73,
      "endLine" : 87,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 248,
      "endLine" : 263,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 293,
      "endLine" : 308,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 576,
      "endLine" : 590,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 512
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 839,
      "endLine" : 853,
      "cleanedStartLine" : 724,
      "cleanedEndLine" : 736
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 158,
      "endLine" : 176,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 205,
      "endLine" : 223,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 403,
      "endLine" : 417,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 710,
      "endLine" : 724,
      "cleanedStartLine" : 368,
      "cleanedEndLine" : 380
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 526,
      "endLine" : 540,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 471
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 726,
      "endLine" : 740,
      "cleanedStartLine" : 633,
      "cleanedEndLine" : 645
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkAppendHandle.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 99,
      "endLine" : 115,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 143,
      "endLine" : 159,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark32PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark33PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 176,
      "endLine" : 194,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 197,
      "endLine" : 215,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 248,
      "endLine" : 263,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 295,
      "endLine" : 310,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark30PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark33PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 321,
      "endLine" : 339,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 403,
      "endLine" : 421,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 172,
      "endLine" : 187,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 329,
      "endLine" : 344,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark2PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark32PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/Spark33ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 47,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/hudi/Spark34ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 47,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 206,
      "endLine" : 224,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
        "extension" : "java",
        "linesOfCode" : 584,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 356,
      "endLine" : 373,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
        "extension" : "java",
        "linesOfCode" : 584,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 554,
      "endLine" : 571,
      "cleanedStartLine" : 290,
      "cleanedEndLine" : 302
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 363,
      "endLine" : 378,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 225
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 375,
      "endLine" : 390,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 34,
      "endLine" : 48,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 32,
      "endLine" : 46,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieKeyBasedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 52,
      "endLine" : 66,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieUnmergedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 51,
      "endLine" : 65,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 97,
      "endLine" : 109,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 46,
      "endLine" : 58,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 28,
      "endLine" : 40,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ArchivedInstantReadSchemas.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 69,
      "endLine" : 81,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 353,
      "endLine" : 368,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 375,
      "endLine" : 390,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 904,
      "endLine" : 917,
      "cleanedStartLine" : 797,
      "cleanedEndLine" : 809
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1833,
      "endLine" : 1846,
      "cleanedStartLine" : 1674,
      "cleanedEndLine" : 1686
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 247,
      "endLine" : 262,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 293,
      "endLine" : 308,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 904,
      "endLine" : 917,
      "cleanedStartLine" : 797,
      "cleanedEndLine" : 809
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1833,
      "endLine" : 1846,
      "cleanedStartLine" : 1674,
      "cleanedEndLine" : 1686
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 61,
      "endLine" : 78,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 38,
      "endLine" : 55,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark2PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark33PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 526,
      "endLine" : 540,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 471
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 726,
      "endLine" : 740,
      "cleanedStartLine" : 633,
      "cleanedEndLine" : 645
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 226,
      "endLine" : 242,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 185,
      "endLine" : 201,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodiePositionBasedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 154,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 59,
      "endLine" : 73,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieUnmergedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 51,
      "endLine" : 65,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/OperatorCoordinatorAdapter.java",
        "extension" : "java",
        "linesOfCode" : 21,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/OperatorCoordinatorAdapter.java",
        "extension" : "java",
        "linesOfCode" : 21,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 158,
      "endLine" : 176,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 208,
      "endLine" : 226,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 116,
      "endLine" : 130,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 140,
      "endLine" : 154,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 176,
      "endLine" : 194,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 206,
      "endLine" : 224,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 176,
      "endLine" : 194,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 208,
      "endLine" : 226,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 158,
      "endLine" : 176,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 206,
      "endLine" : 224,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 576,
      "endLine" : 590,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 512
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 839,
      "endLine" : 853,
      "cleanedStartLine" : 724,
      "cleanedEndLine" : 736
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 208,
      "endLine" : 226,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 403,
      "endLine" : 417,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 213
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 728,
      "endLine" : 742,
      "cleanedStartLine" : 372,
      "cleanedEndLine" : 384
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/OperatorCoordinatorAdapter.java",
        "extension" : "java",
        "linesOfCode" : 21,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/OperatorCoordinatorAdapter.java",
        "extension" : "java",
        "linesOfCode" : 21,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 904,
      "endLine" : 917,
      "cleanedStartLine" : 797,
      "cleanedEndLine" : 809
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1833,
      "endLine" : 1846,
      "cleanedStartLine" : 1674,
      "cleanedEndLine" : 1686
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 248,
      "endLine" : 263,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 292,
      "endLine" : 307,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 158,
      "endLine" : 176,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 101
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 197,
      "endLine" : 215,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 301,
      "endLine" : 317,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 241,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 258,
      "endLine" : 274,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/Spark33ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/hudi/Spark35ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/FlinkClusteringConfig.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 190,
      "endLine" : 202,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/FlinkStreamerConfig.java",
        "extension" : "java",
        "linesOfCode" : 378,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 350,
      "startLine" : 476,
      "endLine" : 488,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 325
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 223,
      "endLine" : 241,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 227,
      "endLine" : 244,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/hudi/Spark32ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/hudi/Spark34ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 247,
      "endLine" : 262,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 295,
      "endLine" : 310,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packaging/bundle-validation/service/write.scala",
        "extension" : "scala",
        "linesOfCode" : 29,
        "components" : [ "primary::packaging" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 27,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "packaging/bundle-validation/spark_hadoop_mr/write.scala",
        "extension" : "scala",
        "linesOfCode" : 29,
        "components" : [ "primary::packaging" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 27,
      "endLine" : 39,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/Spark33ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/hudi/Spark34ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 176,
      "endLine" : 194,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 205,
      "endLine" : 223,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 728,
      "endLine" : 742,
      "cleanedStartLine" : 372,
      "cleanedEndLine" : 384
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 398,
      "endLine" : 412,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 218
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 223,
      "endLine" : 241,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 238,
      "endLine" : 255,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 353,
      "endLine" : 373,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 422,
      "endLine" : 442,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 197,
      "endLine" : 215,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 576,
      "endLine" : 590,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 512
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 839,
      "endLine" : 853,
      "cleanedStartLine" : 724,
      "cleanedEndLine" : 736
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark30PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark32PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 314,
      "endLine" : 332,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 403,
      "endLine" : 421,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 904,
      "endLine" : 917,
      "cleanedStartLine" : 797,
      "cleanedEndLine" : 809
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1833,
      "endLine" : 1846,
      "cleanedStartLine" : 1674,
      "cleanedEndLine" : 1686
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 295,
      "endLine" : 307,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 284
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 340,
      "endLine" : 352,
      "cleanedStartLine" : 317,
      "cleanedEndLine" : 329
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 432,
      "endLine" : 448,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 241,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 258,
      "endLine" : 274,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 526,
      "endLine" : 540,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 471
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 726,
      "endLine" : 740,
      "cleanedStartLine" : 633,
      "cleanedEndLine" : 645
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark31PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark33PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 205,
      "endLine" : 223,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 130
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 223,
      "endLine" : 241,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 239,
      "endLine" : 256,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 116,
      "endLine" : 130,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 116,
      "endLine" : 130,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/OperatorCoordinatorAdapter.java",
        "extension" : "java",
        "linesOfCode" : 21,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/OperatorCoordinatorAdapter.java",
        "extension" : "java",
        "linesOfCode" : 21,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/HoodieSparkParquetStreamWriter.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 44,
      "endLine" : 60,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieParquetStreamWriter.java",
        "extension" : "java",
        "linesOfCode" : 67,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 50,
      "endLine" : 66,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 248,
      "endLine" : 263,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 293,
      "endLine" : 308,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 247,
      "endLine" : 262,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 292,
      "endLine" : 307,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark30PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark31PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HMSDDLExecutor.java",
        "extension" : "java",
        "linesOfCode" : 250,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 172,
      "endLine" : 189,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HiveQueryDDLExecutor.java",
        "extension" : "java",
        "linesOfCode" : 121,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 111,
      "endLine" : 128,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 576,
      "endLine" : 590,
      "cleanedStartLine" : 500,
      "cleanedEndLine" : 512
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 839,
      "endLine" : 853,
      "cleanedStartLine" : 724,
      "cleanedEndLine" : 736
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark31PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark32PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 398,
      "endLine" : 412,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 710,
      "endLine" : 724,
      "cleanedStartLine" : 368,
      "cleanedEndLine" : 380
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark2PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark31PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 116,
      "endLine" : 130,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 61
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 140,
      "endLine" : 154,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 104,
      "endLine" : 119,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 75,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 247,
      "endLine" : 262,
      "cleanedStartLine" : 155,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 293,
      "endLine" : 308,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1352,
      "endLine" : 1364,
      "cleanedStartLine" : 1197,
      "cleanedEndLine" : 1209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1115,
      "endLine" : 1127,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 974
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 374,
      "endLine" : 389,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 235
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 375,
      "endLine" : 390,
      "cleanedStartLine" : 223,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/Spark33ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 47,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/hudi/Spark35ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 47,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark2PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark30PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 29,
      "endLine" : 49,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark30ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 236,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 143,
      "endLine" : 162,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark31ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 143,
      "endLine" : 162,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 526,
      "endLine" : 540,
      "cleanedStartLine" : 459,
      "cleanedEndLine" : 471
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 726,
      "endLine" : 740,
      "cleanedStartLine" : 633,
      "cleanedEndLine" : 645
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/ParquetDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 13,
      "startLine" : 33,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 13,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/hudi/Spark32ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/hudi/Spark35ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 505,
      "endLine" : 519,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 244
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 433,
      "endLine" : 447,
      "cleanedStartLine" : 254,
      "cleanedEndLine" : 265
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 560,
      "endLine" : 573,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 497
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 820,
      "endLine" : 833,
      "cleanedStartLine" : 707,
      "cleanedEndLine" : 718
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 148,
      "endLine" : 166,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 162,
      "endLine" : 180,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 104,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 32,
      "endLine" : 45,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 31,
      "endLine" : 44,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 246,
      "endLine" : 264,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 74,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 138,
      "endLine" : 152,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 138,
      "endLine" : 152,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 242,
      "endLine" : 260,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 265,
      "endLine" : 283,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 246,
      "endLine" : 264,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 61,
      "endLine" : 76,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 93,
      "endLine" : 108,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 138,
      "endLine" : 152,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 162,
      "endLine" : 176,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 702,
      "endLine" : 715,
      "cleanedStartLine" : 606,
      "cleanedEndLine" : 617
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 993,
      "endLine" : 1006,
      "cleanedStartLine" : 853,
      "cleanedEndLine" : 864
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 224,
      "endLine" : 240,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 265,
      "endLine" : 283,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 74,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 256,
      "endLine" : 270,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 341,
      "endLine" : 355,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 148,
      "endLine" : 166,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 147,
      "endLine" : 165,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 103,
      "endLine" : 117,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 560,
      "endLine" : 573,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 497
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 820,
      "endLine" : 833,
      "cleanedStartLine" : 707,
      "cleanedEndLine" : 718
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 103,
      "endLine" : 117,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 148,
      "endLine" : 166,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 161,
      "endLine" : 179,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 103,
      "endLine" : 117,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/hash/ColumnIndexID.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/hash/FileIndexID.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 702,
      "endLine" : 715,
      "cleanedStartLine" : 606,
      "cleanedEndLine" : 617
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 993,
      "endLine" : 1006,
      "cleanedStartLine" : 853,
      "cleanedEndLine" : 864
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 148,
      "endLine" : 166,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 150,
      "endLine" : 168,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 178,
      "endLine" : 192,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 192,
      "endLine" : 206,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 61,
      "endLine" : 76,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 93,
      "endLine" : 108,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 246,
      "endLine" : 264,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 256,
      "endLine" : 270,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 341,
      "endLine" : 355,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 192,
      "endLine" : 206,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 359,
      "endLine" : 373,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 66,
      "endLine" : 82,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 68,
      "endLine" : 84,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 178,
      "endLine" : 192,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 206,
      "endLine" : 220,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 242,
      "endLine" : 260,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 174,
      "endLine" : 188,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 192,
      "endLine" : 206,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 104,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 194,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 202,
      "endLine" : 224,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 174,
      "endLine" : 188,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 206,
      "endLine" : 220,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 178,
      "endLine" : 192,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 206,
      "endLine" : 220,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 67,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 67,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 148,
      "endLine" : 166,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 150,
      "endLine" : 168,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 148,
      "endLine" : 166,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 161,
      "endLine" : 179,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 61,
      "endLine" : 76,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 93,
      "endLine" : 108,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 67,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 67,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 373,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 184,
      "endLine" : 196,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieIncrementalFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 76,
      "endLine" : 88,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 158,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 96,
      "endLine" : 107,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 197,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 131,
      "endLine" : 142,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/AutoRecordGenWrapperAvroKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 54,
      "endLine" : 71,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/AutoRecordGenWrapperKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 58,
      "endLine" : 75,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 74,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 174,
      "endLine" : 188,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 206,
      "endLine" : 220,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 224,
      "endLine" : 240,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 256,
      "endLine" : 270,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 341,
      "endLine" : 355,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 59,
      "endLine" : 76,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 34,
      "endLine" : 47,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 31,
      "endLine" : 44,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 224,
      "endLine" : 240,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 194,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 199,
      "endLine" : 221,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 194,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 213,
      "endLine" : 235,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 174,
      "endLine" : 188,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 206,
      "endLine" : 220,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 702,
      "endLine" : 715,
      "cleanedStartLine" : 606,
      "cleanedEndLine" : 617
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 993,
      "endLine" : 1006,
      "cleanedStartLine" : 853,
      "cleanedEndLine" : 864
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 61,
      "endLine" : 78,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 178,
      "endLine" : 192,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 100
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 206,
      "endLine" : 220,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 138,
      "endLine" : 152,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 162,
      "endLine" : 176,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 97
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 104,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 77,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 560,
      "endLine" : 573,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 497
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 820,
      "endLine" : 833,
      "cleanedStartLine" : 707,
      "cleanedEndLine" : 718
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 242,
      "endLine" : 260,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 134,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 166,
      "endLine" : 180,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategyRecently.java",
        "extension" : "java",
        "linesOfCode" : 89,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 94,
      "endLine" : 108,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 608,
      "endLine" : 621,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 708,
      "endLine" : 721,
      "cleanedStartLine" : 367,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 148,
      "endLine" : 166,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 147,
      "endLine" : 165,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 194,
      "endLine" : 216,
      "cleanedStartLine" : 105,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 214,
      "endLine" : 236,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/hash/FileIndexID.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/hash/PartitionIndexID.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 246,
      "endLine" : 264,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 265,
      "endLine" : 283,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 224,
      "endLine" : 240,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 313,
      "endLine" : 326,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 415,
      "endLine" : 428,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
        "extension" : "java",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 132,
      "endLine" : 146,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
        "extension" : "java",
        "linesOfCode" : 165,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 123,
      "endLine" : 137,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 73,
      "endLine" : 86,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 31,
      "endLine" : 44,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 560,
      "endLine" : 573,
      "cleanedStartLine" : 486,
      "cleanedEndLine" : 497
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 820,
      "endLine" : 833,
      "cleanedStartLine" : 707,
      "cleanedEndLine" : 718
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 365,
      "endLine" : 377,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 485,
      "endLine" : 497,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 259
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 148,
      "endLine" : 166,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 162,
      "endLine" : 180,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 523,
      "endLine" : 541,
      "cleanedStartLine" : 248,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 451,
      "endLine" : 469,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/FileSystemViewCommand.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 67,
      "endLine" : 78,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/FileSystemViewCommand.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 129,
      "endLine" : 140,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 61,
      "endLine" : 78,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/HotSpotMemoryLayoutSpecification64bit.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 31,
      "endLine" : 48,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/OpenJ9MemoryLayoutSpecification64bit.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 31,
      "endLine" : 48,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 61,
      "endLine" : 78,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 88,
      "endLine" : 123,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordScanner.java",
        "extension" : "java",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 119,
      "endLine" : 154,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 242,
      "endLine" : 260,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 152
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 279,
      "endLine" : 297,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 702,
      "endLine" : 715,
      "cleanedStartLine" : 606,
      "cleanedEndLine" : 617
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 993,
      "endLine" : 1006,
      "cleanedStartLine" : 853,
      "cleanedEndLine" : 864
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/hash/ColumnIndexID.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/hash/PartitionIndexID.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 49,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 67,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 67,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 532,
      "endLine" : 545,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 708,
      "endLine" : 721,
      "cleanedStartLine" : 367,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 532,
      "endLine" : 545,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 608,
      "endLine" : 621,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 256,
      "endLine" : 270,
      "cleanedStartLine" : 239,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 341,
      "endLine" : 355,
      "cleanedStartLine" : 316,
      "cleanedEndLine" : 327
    } ]
  }, {
    "blockSize" : 12,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 61,
      "endLine" : 76,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 93,
      "endLine" : 108,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 76,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 74,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 402,
      "endLine" : 415,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 370
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 580,
      "endLine" : 593,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 526
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 104,
      "endLine" : 117,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 74,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 289,
      "endLine" : 304,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 325,
      "endLine" : 340,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 131,
      "endLine" : 145,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 228,
      "endLine" : 242,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/HoodieFlinkClusteringJob.java",
        "extension" : "java",
        "linesOfCode" : 231,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 195,
      "endLine" : 209,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/HoodieFlinkCompactor.java",
        "extension" : "java",
        "linesOfCode" : 209,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 183,
      "endLine" : 197,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryEqualityPreCommitValidator.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 55,
      "endLine" : 65,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/validator/SqlQueryInequalityPreCommitValidator.java",
        "extension" : "java",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 54,
      "endLine" : 64,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3311,
      "endLine" : 3327,
      "cleanedStartLine" : 1820,
      "cleanedEndLine" : 1830
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3314,
      "endLine" : 3330,
      "cleanedStartLine" : 1821,
      "cleanedEndLine" : 1831
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/HoodieSqlCommonUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 253,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 192,
      "endLine" : 205,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 285,
      "endLine" : 298,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 402,
      "endLine" : 415,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 370
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 580,
      "endLine" : 593,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 526
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 33,
      "endLine" : 48,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 31,
      "endLine" : 46,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 121,
      "endLine" : 132,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 127,
      "endLine" : 138,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 362,
      "endLine" : 376,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 187,
      "endLine" : 201,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 228,
      "endLine" : 242,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 362,
      "endLine" : 376,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 100,
      "endLine" : 118,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 107,
      "endLine" : 125,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkConsistentBucketClusteringExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 57,
      "endLine" : 69,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSingleFileSortExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 56,
      "endLine" : 68,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/FunctionalIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 179,
      "endLine" : 193,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/RecordLevelIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 86,
      "startLine" : 50,
      "endLine" : 64,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 460,
      "endLine" : 471,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 311
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 570,
      "endLine" : 581,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 405
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/inmemory/HoodieInMemoryHashIndex.java",
        "extension" : "java",
        "linesOfCode" : 91,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 102,
      "endLine" : 127,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/state/FlinkInMemoryStateIndex.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 61,
      "endLine" : 83,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 155,
      "endLine" : 166,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 351,
      "endLine" : 362,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/ORCDFSSource.java",
        "extension" : "java",
        "linesOfCode" : 29,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 39,
      "endLine" : 53,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/ParquetDFSSource.java",
        "extension" : "java",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 43,
      "endLine" : 57,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 570,
      "endLine" : 581,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 405
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 616,
      "endLine" : 627,
      "cleanedStartLine" : 434,
      "cleanedEndLine" : 444
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 131,
      "endLine" : 145,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 362,
      "endLine" : 376,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 1115,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1183,
      "endLine" : 1206,
      "cleanedStartLine" : 609,
      "cleanedEndLine" : 619
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/metadata/FlinkHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 131,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 134,
      "endLine" : 157,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 335,
      "endLine" : 347,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 398,
      "endLine" : 410,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieInternalProxyIndex.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 51,
      "endLine" : 67,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/HoodieBloomIndex.java",
        "extension" : "java",
        "linesOfCode" : 204,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 249,
      "endLine" : 275,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 178,
      "endLine" : 196,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java",
        "extension" : "java",
        "linesOfCode" : 1273,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1868,
      "endLine" : 1882,
      "cleanedStartLine" : 931,
      "cleanedEndLine" : 941
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java",
        "extension" : "java",
        "linesOfCode" : 1273,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1898,
      "endLine" : 1912,
      "cleanedStartLine" : 953,
      "cleanedEndLine" : 963
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 60,
      "endLine" : 73,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 74,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 121,
      "endLine" : 132,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 127,
      "endLine" : 138,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 63,
      "endLine" : 76,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 74,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 289,
      "endLine" : 304,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 325,
      "endLine" : 340,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 98,
      "endLine" : 109,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 127,
      "endLine" : 138,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 100,
      "endLine" : 118,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 107,
      "endLine" : 125,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 285,
      "endLine" : 299,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 153
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 241,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 242,
      "endLine" : 256,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/HoodieSqlCommonUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 253,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 192,
      "endLine" : 205,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 285,
      "endLine" : 298,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 54,
      "endLine" : 64,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 65,
      "endLine" : 75,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 402,
      "endLine" : 415,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 370
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 580,
      "endLine" : 593,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 526
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 178,
      "endLine" : 188,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/MultipleSparkJobExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 358,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 309,
      "endLine" : 319,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 148
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 206,
      "endLine" : 218,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 191,
      "endLine" : 203,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieBaseRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 532,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 425,
      "startLine" : 153,
      "endLine" : 163,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieHadoopFsRelationFactory.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 79,
      "endLine" : 89,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java",
        "extension" : "java",
        "linesOfCode" : 1273,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1802,
      "endLine" : 1816,
      "cleanedStartLine" : 878,
      "cleanedEndLine" : 888
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieTableMetadataUtil.java",
        "extension" : "java",
        "linesOfCode" : 1273,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 975,
      "startLine" : 1868,
      "endLine" : 1882,
      "cleanedStartLine" : 931,
      "cleanedEndLine" : 941
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 207,
      "endLine" : 217,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 241,
      "endLine" : 251,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 62,
      "endLine" : 77,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 65,
      "endLine" : 80,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 51,
      "endLine" : 63,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 51,
      "endLine" : 63,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3311,
      "endLine" : 3327,
      "cleanedStartLine" : 1820,
      "cleanedEndLine" : 1830
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3315,
      "endLine" : 3331,
      "cleanedStartLine" : 1821,
      "cleanedEndLine" : 1831
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 176,
      "endLine" : 194,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 54,
      "endLine" : 64,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 65,
      "endLine" : 75,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 103,
      "endLine" : 116,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 61,
      "endLine" : 74,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/HiveCatalogConstants.java",
        "extension" : "java",
        "linesOfCode" : 17,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 28,
      "endLine" : 49,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 177,
      "endLine" : 195,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 89
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/DiffCommand.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 58,
      "endLine" : 68,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/DiffCommand.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 75,
      "endLine" : 85,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 402,
      "endLine" : 415,
      "cleanedStartLine" : 360,
      "cleanedEndLine" : 370
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 580,
      "endLine" : 593,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 526
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 291,
      "endLine" : 301,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 314,
      "endLine" : 324,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1251,
      "endLine" : 1261,
      "cleanedStartLine" : 1098,
      "cleanedEndLine" : 1108
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1520,
      "endLine" : 1530,
      "cleanedStartLine" : 1365,
      "cleanedEndLine" : 1375
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 702,
      "endLine" : 717,
      "cleanedStartLine" : 364,
      "cleanedEndLine" : 374
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 329,
      "endLine" : 344,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 22,
      "endLine" : 33,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 23,
      "endLine" : 34,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 525,
      "endLine" : 536,
      "cleanedStartLine" : 357,
      "cleanedEndLine" : 367
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 570,
      "endLine" : 581,
      "cleanedStartLine" : 395,
      "cleanedEndLine" : 405
    } ]
  }, {
    "blockSize" : 11,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 131,
      "endLine" : 145,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 187,
      "endLine" : 201,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 134,
      "endLine" : 144,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 83,
      "endLine" : 97,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 93,
      "endLine" : 107,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 100,
      "endLine" : 117,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 117,
      "endLine" : 134,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1089,
      "endLine" : 1100,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 971
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1929,
      "endLine" : 1940,
      "cleanedStartLine" : 1751,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 82,
      "endLine" : 96,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 93,
      "endLine" : 107,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 72,
      "endLine" : 84,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 86,
      "endLine" : 98,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/adapter/Spark2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 178,
      "endLine" : 187,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 115,
      "endLine" : 124,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 100,
      "endLine" : 117,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 116,
      "endLine" : 133,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaTable.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 97,
      "endLine" : 110,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkTable.java",
        "extension" : "java",
        "linesOfCode" : 107,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 110,
      "endLine" : 124,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 72,
      "endLine" : 84,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 85,
      "endLine" : 97,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 103,
      "endLine" : 120,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 116,
      "endLine" : 133,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/HoodieSparkParquetReader.java",
        "extension" : "java",
        "linesOfCode" : 113,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 73,
      "endLine" : 88,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroParquetReader.java",
        "extension" : "java",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 78,
      "endLine" : 93,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/ComplexKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 62,
      "endLine" : 75,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/GlobalDeleteKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 60,
      "endLine" : 73,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_0Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 116,
      "endLine" : 125,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/IncrementalQueryAnalyzer.java",
        "extension" : "java",
        "linesOfCode" : 266,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 195,
      "startLine" : 289,
      "endLine" : 304,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/IncrementalInputSplits.java",
        "extension" : "java",
        "linesOfCode" : 391,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 535,
      "endLine" : 550,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 293
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 85,
      "endLine" : 98,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 106,
      "endLine" : 119,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 72,
      "endLine" : 84,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 95,
      "endLine" : 107,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 44,
      "endLine" : 59,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 43,
      "endLine" : 59,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark32Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 50,
      "endLine" : 64,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark35Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 50,
      "endLine" : 64,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 154,
      "endLine" : 168,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 174,
      "endLine" : 188,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 82,
      "endLine" : 96,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 97,
      "endLine" : 111,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 49,
      "endLine" : 63,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowTablePropertiesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 52,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/adapter/Spark2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 178,
      "endLine" : 187,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 116,
      "endLine" : 125,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3279,
      "endLine" : 3291,
      "cleanedStartLine" : 1799,
      "cleanedEndLine" : 1808
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3290,
      "endLine" : 3304,
      "cleanedStartLine" : 1804,
      "cleanedEndLine" : 1813
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 178,
      "endLine" : 189,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 39,
      "endLine" : 50,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 51,
      "endLine" : 64,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 43,
      "endLine" : 56,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark32PlusAnalysis.scala",
        "extension" : "scala",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 109,
      "endLine" : 120,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark32PlusAnalysis.scala",
        "extension" : "scala",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 124,
      "endLine" : 135,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 43,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 43,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 83,
      "endLine" : 97,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 97,
      "endLine" : 111,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/HoodieAdbJdbcClient.java",
        "extension" : "java",
        "linesOfCode" : 413,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 477,
      "endLine" : 490,
      "cleanedStartLine" : 287,
      "cleanedEndLine" : 296
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/JDBCExecutor.java",
        "extension" : "java",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 77,
      "endLine" : 90,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkUpsertDeltaCommitPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 123,
      "endLine" : 138,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/DeltaWriteProfile.java",
        "extension" : "java",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 94,
      "endLine" : 109,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 82,
      "endLine" : 96,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 94,
      "endLine" : 108,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 44,
      "endLine" : 59,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 43,
      "endLine" : 59,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 92,
      "endLine" : 105,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 66,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 74,
      "endLine" : 87,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 39,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 38,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_0Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 115,
      "endLine" : 124,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/hudi_upsert_partitioned_cow_table.sql",
        "extension" : "sql",
        "linesOfCode" : 16,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/hudi_upsert_partitioned_mor_table.sql",
        "extension" : "sql",
        "linesOfCode" : 16,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 30,
      "endLine" : 40,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 135,
      "endLine" : 145,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 135,
      "endLine" : 145,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 96,
      "endLine" : 106,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 154,
      "endLine" : 168,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 171,
      "endLine" : 185,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 135,
      "endLine" : 145,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 136,
      "endLine" : 147,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 169,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 201,
      "endLine" : 212,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 673,
      "endLine" : 689,
      "cleanedStartLine" : 346,
      "cleanedEndLine" : 355
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 300,
      "endLine" : 316,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieConcatHandle.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 101,
      "endLine" : 113,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkConcatAndReplaceHandle.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 64,
      "endLine" : 76,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1089,
      "endLine" : 1100,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 971
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1929,
      "endLine" : 1940,
      "cleanedStartLine" : 1751,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 83,
      "endLine" : 97,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 94,
      "endLine" : 108,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 199,
      "endLine" : 209,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 234,
      "endLine" : 244,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3308,
      "endLine" : 3317,
      "cleanedStartLine" : 1816,
      "cleanedEndLine" : 1825
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3322,
      "endLine" : 3331,
      "cleanedStartLine" : 1822,
      "cleanedEndLine" : 1831
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 178,
      "endLine" : 189,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 190,
      "endLine" : 201,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 123
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 199,
      "endLine" : 209,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 234,
      "endLine" : 244,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3279,
      "endLine" : 3291,
      "cleanedStartLine" : 1799,
      "cleanedEndLine" : 1808
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3286,
      "endLine" : 3300,
      "cleanedStartLine" : 1803,
      "cleanedEndLine" : 1812
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaTableServiceClient.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 52,
      "endLine" : 64,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDTableServiceClient.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 50,
      "endLine" : 62,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 83,
      "endLine" : 97,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 96,
      "endLine" : 110,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/inmemory/HoodieInMemoryHashIndex.java",
        "extension" : "java",
        "linesOfCode" : 91,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 104,
      "endLine" : 128,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java",
        "extension" : "java",
        "linesOfCode" : 544,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 390,
      "startLine" : 657,
      "endLine" : 681,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 371
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 154,
      "endLine" : 168,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 173,
      "endLine" : 187,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 103,
      "endLine" : 120,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 117,
      "endLine" : 134,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 82,
      "endLine" : 96,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 96,
      "endLine" : 110,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 410,
      "endLine" : 426,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 507,
      "endLine" : 528,
      "cleanedStartLine" : 266,
      "cleanedEndLine" : 275
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_0Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 112,
      "endLine" : 121,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 92,
      "endLine" : 105,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 76,
      "endLine" : 89,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/CleanTask.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 80,
      "endLine" : 95,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ClusteringTask.java",
        "extension" : "java",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 127,
      "endLine" : 142,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/HoodieBloomIndex.java",
        "extension" : "java",
        "linesOfCode" : 204,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 252,
      "endLine" : 276,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieSimpleIndex.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 69,
      "endLine" : 84,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 232,
      "endLine" : 242,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 539,
      "endLine" : 549,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 281
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 220,
      "endLine" : 230,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordScanner.java",
        "extension" : "java",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 318,
      "endLine" : 328,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 154,
      "endLine" : 168,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 170,
      "endLine" : 184,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieBaseFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 214,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 70,
      "endLine" : 79,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodiePositionBasedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 154,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 59,
      "endLine" : 68,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 135,
      "endLine" : 145,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 335,
      "endLine" : 346,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 198
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 460,
      "endLine" : 471,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/OrcBootstrapMetadataHandler.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 87,
      "endLine" : 98,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/ParquetBootstrapMetadataHandler.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 98,
      "endLine" : 109,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieBaseFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 214,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 70,
      "endLine" : 79,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieUnmergedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 51,
      "endLine" : 60,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 50,
      "endLine" : 60,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 76,
      "endLine" : 86,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 43,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 43,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 134,
      "endLine" : 144,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 96,
      "endLine" : 106,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 203,
      "endLine" : 213,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 234,
      "endLine" : 244,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 91,
      "endLine" : 101,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 128,
      "endLine" : 138,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark32PlusAnalysis.scala",
        "extension" : "scala",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 94,
      "endLine" : 105,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark32PlusAnalysis.scala",
        "extension" : "scala",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 109,
      "endLine" : 120,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark32PlusAnalysis.scala",
        "extension" : "scala",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 94,
      "endLine" : 105,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark32PlusAnalysis.scala",
        "extension" : "scala",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 124,
      "endLine" : 135,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 63
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 337,
      "endLine" : 349,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 146
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 406,
      "endLine" : 418,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark34PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 24,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 30,
      "endLine" : 45,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieSpark35PartitionedFileUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 24,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 30,
      "endLine" : 45,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 65,
      "endLine" : 79,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 93,
      "endLine" : 107,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 72,
      "endLine" : 84,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 89,
      "endLine" : 101,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3308,
      "endLine" : 3317,
      "cleanedStartLine" : 1816,
      "cleanedEndLine" : 1825
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3321,
      "endLine" : 3330,
      "cleanedStartLine" : 1822,
      "cleanedEndLine" : 1831
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3279,
      "endLine" : 3291,
      "cleanedStartLine" : 1799,
      "cleanedEndLine" : 1808
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3289,
      "endLine" : 3303,
      "cleanedStartLine" : 1804,
      "cleanedEndLine" : 1813
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 398,
      "endLine" : 409,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 239
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 460,
      "endLine" : 471,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 216,
      "endLine" : 229,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 210,
      "endLine" : 223,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 134,
      "endLine" : 144,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 72,
      "endLine" : 84,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 94,
      "endLine" : 106,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 44,
      "endLine" : 59,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 43,
      "endLine" : 59,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 107,
      "endLine" : 124,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 117,
      "endLine" : 134,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/adapter/Spark2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 178,
      "endLine" : 187,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 116,
      "endLine" : 125,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/adapter/Spark2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 178,
      "endLine" : 187,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 112,
      "endLine" : 121,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 199,
      "endLine" : 209,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 234,
      "endLine" : 244,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
        "extension" : "java",
        "linesOfCode" : 346,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 128,
      "endLine" : 137,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
        "extension" : "java",
        "linesOfCode" : 346,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 150,
      "endLine" : 159,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1451,
      "endLine" : 1460,
      "cleanedStartLine" : 1296,
      "cleanedEndLine" : 1305
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1190,
      "endLine" : 1199,
      "cleanedStartLine" : 1037,
      "cleanedEndLine" : 1046
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 50,
      "endLine" : 60,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 37,
      "endLine" : 47,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 43,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 43,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieBaseFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 214,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 70,
      "endLine" : 79,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieKeyBasedFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 52,
      "endLine" : 61,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 107,
      "endLine" : 124,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 116,
      "endLine" : 133,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 100,
      "endLine" : 117,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 117,
      "endLine" : 134,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/config/HoodieFunctionalIndexConfig.java",
        "extension" : "java",
        "linesOfCode" : 220,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 138,
      "endLine" : 155,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableConfig.java",
        "extension" : "java",
        "linesOfCode" : 613,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 392,
      "endLine" : 409,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 242
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeBootstrapBaseFileSplit.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 114,
      "endLine" : 129,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeFileSplit.java",
        "extension" : "java",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 127,
      "endLine" : 142,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 65,
      "endLine" : 79,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 97,
      "endLine" : 111,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkDeleteNode.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 55,
      "endLine" : 67,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/dag/nodes/SparkInsertNode.scala",
        "extension" : "scala",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 57,
      "endLine" : 69,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/internal/schema/convert/AvroInternalSchemaConverter.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 278,
      "endLine" : 287,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/internal/schema/utils/SerDeHelper.java",
        "extension" : "java",
        "linesOfCode" : 271,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 212,
      "startLine" : 206,
      "endLine" : 215,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 72,
      "endLine" : 84,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 86,
      "endLine" : 98,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 203,
      "endLine" : 213,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 234,
      "endLine" : 244,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 533,
      "endLine" : 545,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 278
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 509,
      "endLine" : 521,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/adapter/Spark2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 178,
      "endLine" : 187,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 116,
      "endLine" : 125,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 50,
      "endLine" : 60,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 34,
      "endLine" : 44,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1089,
      "endLine" : 1100,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 971
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1929,
      "endLine" : 1940,
      "cleanedStartLine" : 1751,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 100,
      "endLine" : 117,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 116,
      "endLine" : 133,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 50,
      "endLine" : 60,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 35,
      "endLine" : 45,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 203,
      "endLine" : 213,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 220,
      "endLine" : 230,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 41,
      "endLine" : 55,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 47,
      "endLine" : 61,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_0Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 116,
      "endLine" : 125,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 65,
      "endLine" : 79,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 94,
      "endLine" : 108,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark34Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 50,
      "endLine" : 64,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark35Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 50,
      "endLine" : 64,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 332,
      "endLine" : 345,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 516,
      "endLine" : 530,
      "cleanedStartLine" : 307,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 65,
      "endLine" : 79,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 96,
      "endLine" : 110,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/hudi/HoodieDatasetBulkInsertHelper.scala",
        "extension" : "scala",
        "linesOfCode" : 190,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 164,
      "endLine" : 173,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/hudi/HoodieDatasetBulkInsertHelper.scala",
        "extension" : "scala",
        "linesOfCode" : 190,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 85,
      "endLine" : 98,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 102,
      "endLine" : 115,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/MergeOnReadIncrementalRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 201,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 147,
      "startLine" : 84,
      "endLine" : 94,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/MergeOnReadSnapshotRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 111,
      "endLine" : 121,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1499,
      "endLine" : 1508,
      "cleanedStartLine" : 1344,
      "cleanedEndLine" : 1353
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1235,
      "endLine" : 1244,
      "cleanedStartLine" : 1082,
      "cleanedEndLine" : 1091
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_0Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 116,
      "endLine" : 125,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 134,
      "endLine" : 144,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ArchiveTask.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 87,
      "endLine" : 102,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ClusteringTask.java",
        "extension" : "java",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 127,
      "endLine" : 142,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 1089,
      "endLine" : 1100,
      "cleanedStartLine" : 962,
      "cleanedEndLine" : 971
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1929,
      "endLine" : 1940,
      "cleanedStartLine" : 1751,
      "cleanedEndLine" : 1760
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 203,
      "endLine" : 213,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 234,
      "endLine" : 244,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandle.java",
        "extension" : "java",
        "linesOfCode" : 134,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 185,
      "endLine" : 195,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandle.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 209,
      "endLine" : 219,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaUpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 246,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 152,
      "endLine" : 164,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/UpsertPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 281,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 196,
      "endLine" : 208,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 44,
      "endLine" : 59,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 43,
      "endLine" : 59,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 199,
      "endLine" : 209,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 220,
      "endLine" : 230,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotCopier.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 147,
      "endLine" : 158,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieSnapshotExporter.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark33Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 50,
      "endLine" : 64,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/hudi/analysis/HoodieSpark35Analysis.scala",
        "extension" : "scala",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 50,
      "endLine" : 64,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/hudi/internal/HoodieBulkInsertDataInternalWriterFactory.java",
        "extension" : "java",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 41,
      "endLine" : 52,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieBulkInsertDataInternalWriterFactory.java",
        "extension" : "java",
        "linesOfCode" : 30,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 41,
      "endLine" : 52,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 198,
      "endLine" : 207,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 331,
      "endLine" : 342,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 237,
      "endLine" : 247,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 322,
      "endLine" : 332,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 121,
      "endLine" : 130,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 187,
      "endLine" : 197,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapFilePartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 22,
      "endLine" : 32,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieBootstrapPartitionMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 22,
      "endLine" : 32,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RepairsCommand.java",
        "extension" : "java",
        "linesOfCode" : 273,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 171,
      "endLine" : 180,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TableCommand.java",
        "extension" : "java",
        "linesOfCode" : 332,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 377,
      "endLine" : 386,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 238
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/FlinkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 64,
      "endLine" : 72,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 67,
      "endLine" : 75,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 204,
      "endLine" : 212,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 222,
      "endLine" : 230,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 153,
      "endLine" : 163,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 548,
      "endLine" : 558,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 261
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark30ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 236,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 249,
      "endLine" : 259,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark31ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 249,
      "endLine" : 259,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/PostgresDebeziumSource.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/PostgresDebeziumSource.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 70,
      "endLine" : 78,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 594,
      "endLine" : 602,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 524
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 858,
      "endLine" : 866,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 749
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 36,
      "endLine" : 49,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 41,
      "endLine" : 54,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 221,
      "endLine" : 229,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 195
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 243,
      "endLine" : 251,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 192,
      "endLine" : 200,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metadata/SparkHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 163,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 185,
      "endLine" : 193,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metadata/SparkHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 163,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 199,
      "endLine" : 207,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 131,
      "endLine" : 142,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 195,
      "endLine" : 206,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 48,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 47,
      "endLine" : 63,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 266,
      "endLine" : 276,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 319,
      "endLine" : 329,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 187,
      "endLine" : 196,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 1381,
      "endLine" : 1390,
      "cleanedStartLine" : 772,
      "cleanedEndLine" : 780
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 107,
      "endLine" : 116,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 170,
      "endLine" : 179,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 83,
      "endLine" : 96,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 40,
      "endLine" : 53,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 267,
      "endLine" : 277,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 319,
      "endLine" : 329,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 195,
      "endLine" : 206,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 228,
      "endLine" : 239,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 182,
      "endLine" : 192,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 323,
      "endLine" : 333,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 287
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 250,
      "endLine" : 260,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark24HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 136,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 40,
      "endLine" : 62,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark31HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 41,
      "endLine" : 63,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 30,
      "endLine" : 39,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 237,
      "endLine" : 247,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 320,
      "endLine" : 330,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 30,
      "endLine" : 39,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 77,
      "endLine" : 86,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordScanner.java",
        "extension" : "java",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 434,
      "endLine" : 446,
      "cleanedStartLine" : 206,
      "cleanedEndLine" : 214
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieUnMergedLogRecordScanner.java",
        "extension" : "java",
        "linesOfCode" : 135,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 172,
      "endLine" : 184,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 43,
      "endLine" : 57,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 44,
      "endLine" : 58,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/ExpressionPredicates.java",
        "extension" : "java",
        "linesOfCode" : 396,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 281,
      "startLine" : 550,
      "endLine" : 560,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 211
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/ExpressionPredicates.java",
        "extension" : "java",
        "linesOfCode" : 396,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 281,
      "startLine" : 593,
      "endLine" : 603,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 229
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 69,
      "endLine" : 94,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandle.java",
        "extension" : "java",
        "linesOfCode" : 134,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 71,
      "endLine" : 96,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/hudi_upsert_partitioned_cow_table.sql",
        "extension" : "sql",
        "linesOfCode" : 16,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/hudi_upsert_table.sql",
        "extension" : "sql",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 24,
      "endLine" : 32,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 272,
      "endLine" : 284,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 271,
      "endLine" : 284,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 139
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 318,
      "endLine" : 329,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 345,
      "endLine" : 356,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 225
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowColumnStatsOverlapProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 263,
      "endLine" : 276,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableColumnStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 137,
      "endLine" : 150,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 77,
      "endLine" : 86,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 804,
      "endLine" : 813,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 419
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 741,
      "endLine" : 750,
      "cleanedStartLine" : 385,
      "cleanedEndLine" : 393
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RepairsCommand.java",
        "extension" : "java",
        "linesOfCode" : 273,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 283,
      "endLine" : 293,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RepairsCommand.java",
        "extension" : "java",
        "linesOfCode" : 273,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 311,
      "endLine" : 321,
      "cleanedStartLine" : 192,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 189,
      "endLine" : 197,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 267,
      "endLine" : 277,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 320,
      "endLine" : 330,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/ColumnStatsIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 285,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 215,
      "startLine" : 377,
      "endLine" : 386,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/FunctionalIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 203,
      "endLine" : 212,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 30,
      "endLine" : 39,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 36,
      "endLine" : 45,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/common/HoodieFlinkEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 157,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 84,
      "endLine" : 96,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/common/HoodieJavaEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 70,
      "endLine" : 82,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 203,
      "endLine" : 211,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 245,
      "endLine" : 255,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 239,
      "endLine" : 249,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark30HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 137,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 41,
      "endLine" : 63,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark31HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 41,
      "endLine" : 63,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/avro/AvroSchemaCompatibility.java",
        "extension" : "java",
        "linesOfCode" : 603,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 446,
      "startLine" : 706,
      "endLine" : 721,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 322
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/avro/AvroSchemaCompatibility.java",
        "extension" : "java",
        "linesOfCode" : 603,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 446,
      "startLine" : 836,
      "endLine" : 851,
      "cleanedStartLine" : 375,
      "cleanedEndLine" : 383
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 594,
      "endLine" : 602,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 524
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 858,
      "endLine" : 866,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 749
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 266,
      "endLine" : 280,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 136
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 595,
      "endLine" : 609,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 204,
      "endLine" : 212,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 187,
      "endLine" : 196,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1385,
      "endLine" : 1394,
      "cleanedStartLine" : 773,
      "cleanedEndLine" : 781
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 187,
      "endLine" : 196,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 1379,
      "endLine" : 1388,
      "cleanedStartLine" : 771,
      "cleanedEndLine" : 779
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 266,
      "endLine" : 276,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 320,
      "endLine" : 330,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 282,
      "endLine" : 290,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 404,
      "endLine" : 412,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 192
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bloom/HoodieDynamicBoundedBloomFilter.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 83,
      "endLine" : 96,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bloom/SimpleBloomFilter.java",
        "extension" : "java",
        "linesOfCode" : 93,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 84,
      "endLine" : 97,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 35,
      "endLine" : 48,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/InitMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 37,
      "endLine" : 50,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 204,
      "endLine" : 214,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 242,
      "endLine" : 252,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 172,
      "endLine" : 186,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BaseSparkCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 303,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 203,
      "endLine" : 217,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 253,
      "endLine" : 261,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 211,
      "endLine" : 219,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 607,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 262,
      "endLine" : 275,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 644,
      "endLine" : 657,
      "cleanedStartLine" : 342,
      "cleanedEndLine" : 350
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 117,
      "endLine" : 127,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 121,
      "endLine" : 130,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 189,
      "endLine" : 197,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieCatalog.java",
        "extension" : "java",
        "linesOfCode" : 516,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 359,
      "startLine" : 534,
      "endLine" : 546,
      "cleanedStartLine" : 298,
      "cleanedEndLine" : 306
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/catalog/HoodieHiveCatalog.java",
        "extension" : "java",
        "linesOfCode" : 809,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 598,
      "startLine" : 882,
      "endLine" : 894,
      "cleanedStartLine" : 528,
      "cleanedEndLine" : 536
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 156,
      "endLine" : 164,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 232,
      "endLine" : 240,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 362,
      "endLine" : 377,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 548,
      "endLine" : 563,
      "cleanedStartLine" : 328,
      "cleanedEndLine" : 336
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 204,
      "endLine" : 212,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 269,
      "endLine" : 285,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 330,
      "endLine" : 346,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 275,
      "endLine" : 291,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 318,
      "endLine" : 334,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 334,
      "endLine" : 342,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 351,
      "endLine" : 359,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 199,
      "endLine" : 215,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 330,
      "endLine" : 346,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/Iterators.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 251,
      "startLine" : 191,
      "endLine" : 199,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/Iterators.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 251,
      "startLine" : 227,
      "endLine" : 235,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkAppendHandle.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 103,
      "endLine" : 115,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandle.java",
        "extension" : "java",
        "linesOfCode" : 134,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 180,
      "endLine" : 192,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieInternalProxyIndex.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 53,
      "endLine" : 67,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieSimpleIndex.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 69,
      "endLine" : 83,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 275,
      "endLine" : 291,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 308,
      "endLine" : 324,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/common/HoodieFlinkEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 157,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 84,
      "endLine" : 96,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/engine/HoodieLocalEngineContext.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 67,
      "endLine" : 79,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 41,
      "endLine" : 51,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 66,
      "endLine" : 75,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 30,
      "endLine" : 39,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 77,
      "endLine" : 86,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/schema/FilebasedSchemaProvider.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/FilebasedSchemaProvider.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 75,
      "endLine" : 85,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 78,
      "endLine" : 91,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 62,
      "endLine" : 75,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 187,
      "endLine" : 196,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 1384,
      "endLine" : 1393,
      "cleanedStartLine" : 773,
      "cleanedEndLine" : 781
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 54,
      "endLine" : 62,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 267,
      "endLine" : 277,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 322,
      "endLine" : 332,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/FilebasedSchemaProvider.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 75,
      "endLine" : 85,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/HiveSchemaProvider.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 85,
      "endLine" : 95,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/state/FlinkInMemoryStateIndex.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 63,
      "endLine" : 83,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java",
        "extension" : "java",
        "linesOfCode" : 544,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 390,
      "startLine" : 657,
      "endLine" : 680,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 370
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 55,
      "endLine" : 64,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/HotSpotMemoryLayoutSpecification32bit.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 36,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/HotSpotMemoryLayoutSpecification64bitCompressed.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 36,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 51,
      "endLine" : 60,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 30,
      "endLine" : 39,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 269,
      "endLine" : 285,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 329,
      "endLine" : 345,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 30,
      "endLine" : 39,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 43,
      "endLine" : 57,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 44,
      "endLine" : 58,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 269,
      "endLine" : 285,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 318,
      "endLine" : 334,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 33,
      "endLine" : 46,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/InitMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 37,
      "endLine" : 50,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 139,
      "endLine" : 150,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 258,
      "endLine" : 269,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark24HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 136,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 40,
      "endLine" : 62,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark30HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 137,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 41,
      "endLine" : 63,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DFSPathSelector.java",
        "extension" : "java",
        "linesOfCode" : 109,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 136,
      "endLine" : 156,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/DatePartitionPathSelector.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 108,
      "startLine" : 152,
      "endLine" : 172,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example_cdc/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example_cdc/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 43,
      "endLine" : 51,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 266,
      "endLine" : 276,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 322,
      "endLine" : 332,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 147,
      "endLine" : 159,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandle.java",
        "extension" : "java",
        "linesOfCode" : 134,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 180,
      "endLine" : 192,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 43,
      "endLine" : 57,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 43,
      "endLine" : 58,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/ColumnStatsIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 285,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 215,
      "startLine" : 308,
      "endLine" : 324,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/FunctionalIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 128,
      "endLine" : 144,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 267,
      "endLine" : 277,
      "cleanedStartLine" : 170,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 320,
      "endLine" : 330,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 51,
      "endLine" : 60,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/protobuf/HFile.proto",
        "extension" : "proto",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 1,
      "endLine" : 9,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 199,
      "endLine" : 215,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 329,
      "endLine" : 345,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 269,
      "endLine" : 285,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 308,
      "endLine" : 324,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 237,
      "endLine" : 247,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 320,
      "endLine" : 330,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 318,
      "endLine" : 329,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 341,
      "endLine" : 352,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 594,
      "endLine" : 602,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 524
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 858,
      "endLine" : 866,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 749
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/model/HoodieRowData.java",
        "extension" : "java",
        "linesOfCode" : 20,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 33,
      "endLine" : 43,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/model/HoodieRowDataWithMetaFields.java",
        "extension" : "java",
        "linesOfCode" : 20,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 33,
      "endLine" : 43,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 78,
      "endLine" : 91,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 62,
      "endLine" : 75,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 28,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 56,
      "endLine" : 64,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 54,
      "endLine" : 62,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 594,
      "endLine" : 602,
      "cleanedStartLine" : 516,
      "cleanedEndLine" : 524
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 858,
      "endLine" : 866,
      "cleanedStartLine" : 741,
      "cleanedEndLine" : 749
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/PartitionPathEncodeUtils.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 80,
      "endLine" : 90,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FilePathUtils.java",
        "extension" : "java",
        "linesOfCode" : 314,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 128,
      "endLine" : 138,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 237,
      "endLine" : 247,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 319,
      "endLine" : 329,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 58,
      "endLine" : 66,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 76,
      "endLine" : 84,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeBootstrapBaseFileSplit.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 82,
      "endLine" : 94,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/HoodieRealtimeFileSplit.java",
        "extension" : "java",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 142,
      "endLine" : 154,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 32,
      "endLine" : 41,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 36,
      "endLine" : 45,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 46,
      "endLine" : 56,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 34,
      "endLine" : 44,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 77,
      "endLine" : 86,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 174,
      "endLine" : 185,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 198,
      "endLine" : 207,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 192,
      "endLine" : 200,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/schema/FilebasedSchemaProvider.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 42,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 42
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/schema/HiveSchemaProvider.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 85,
      "endLine" : 95,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 151,
      "endLine" : 163,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 61,
      "endLine" : 74,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 117,
      "endLine" : 127,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 187,
      "endLine" : 197,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 194,
      "endLine" : 202,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 232,
      "endLine" : 240,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 275,
      "endLine" : 291,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 329,
      "endLine" : 345,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 199,
      "endLine" : 215,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 318,
      "endLine" : 334,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 254,
      "endLine" : 265,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 134
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 252,
      "endLine" : 263,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 195,
      "endLine" : 206,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 187,
      "endLine" : 198,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1200,
      "endLine" : 1208,
      "cleanedStartLine" : 1047,
      "cleanedEndLine" : 1055
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1462,
      "endLine" : 1470,
      "cleanedStartLine" : 1307,
      "cleanedEndLine" : 1315
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 199,
      "endLine" : 215,
      "cleanedStartLine" : 106,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 308,
      "endLine" : 324,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 187
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 275,
      "endLine" : 291,
      "cleanedStartLine" : 157,
      "cleanedEndLine" : 165
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 330,
      "endLine" : 346,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 201
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 43,
      "endLine" : 57,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 43,
      "endLine" : 58,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieMergeHelper.java",
        "extension" : "java",
        "linesOfCode" : 165,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 145,
      "endLine" : 156,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/OrcBootstrapMetadataHandler.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 86,
      "endLine" : 96,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 203,
      "endLine" : 211,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/NonpartitionedKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 57,
      "endLine" : 69,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/TimestampBasedKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 63,
      "endLine" : 75,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/service/TimelineService.java",
        "extension" : "java",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-platform-service" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 107,
      "endLine" : 117,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/service/TimelineService.java",
        "extension" : "java",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-platform-service" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 124,
      "endLine" : 135,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 67
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkMetadataWriterUtils.java",
        "extension" : "java",
        "linesOfCode" : 201,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 73,
      "endLine" : 81,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkMetadataWriterUtils.java",
        "extension" : "java",
        "linesOfCode" : 201,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 102,
      "endLine" : 110,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 166,
      "endLine" : 176,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 242,
      "endLine" : 252,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 266,
      "endLine" : 276,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 320,
      "endLine" : 330,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 166,
      "endLine" : 176,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 90
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 204,
      "endLine" : 214,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 156,
      "endLine" : 164,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 194,
      "endLine" : 202,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 97,
      "endLine" : 104,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1056,
      "endLine" : 1063,
      "cleanedStartLine" : 905,
      "cleanedEndLine" : 912
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 636,
      "endLine" : 643,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 344
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 67,
      "endLine" : 78,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 637,
      "endLine" : 644,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 344
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowColumnStatsOverlapProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 90,
      "endLine" : 101,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableColumnStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 56,
      "endLine" : 67,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieMergeHelper.java",
        "extension" : "java",
        "linesOfCode" : 165,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 147,
      "endLine" : 156,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/ParquetBootstrapMetadataHandler.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 98,
      "endLine" : 107,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
        "extension" : "java",
        "linesOfCode" : 346,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 227,
      "endLine" : 234,
      "cleanedStartLine" : 142,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
        "extension" : "java",
        "linesOfCode" : 346,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 279,
      "endLine" : 286,
      "cleanedStartLine" : 190,
      "cleanedEndLine" : 197
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 475,
      "endLine" : 483,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 473,
      "endLine" : 481,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 124,
      "endLine" : 133,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 653,
      "endLine" : 660,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 475,
      "endLine" : 483,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 473,
      "endLine" : 481,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 282,
      "endLine" : 289,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3449,
      "endLine" : 3456,
      "cleanedStartLine" : 1881,
      "cleanedEndLine" : 1888
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 2829,
      "endLine" : 2836,
      "cleanedStartLine" : 1546,
      "cleanedEndLine" : 1553
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 240,
      "endLine" : 251,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 254,
      "endLine" : 265,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 240,
      "endLine" : 251,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 265,
      "endLine" : 276,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark34NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 193,
      "endLine" : 200,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 653,
      "endLine" : 660,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 148,
      "endLine" : 158,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 652,
      "endLine" : 659,
      "cleanedStartLine" : 350,
      "cleanedEndLine" : 357
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 196,
      "endLine" : 203,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2832,
      "endLine" : 2839,
      "cleanedStartLine" : 1547,
      "cleanedEndLine" : 1554
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3465,
      "endLine" : 3472,
      "cleanedStartLine" : 1888,
      "cleanedEndLine" : 1895
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/RecordIterators.java",
        "extension" : "java",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 84,
      "endLine" : 91,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/RecordIterators.java",
        "extension" : "java",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 102,
      "endLine" : 109,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 650,
      "endLine" : 657,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HoodieWrapperFileSystem.java",
        "extension" : "java",
        "linesOfCode" : 865,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 642,
      "startLine" : 394,
      "endLine" : 405,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 220
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/HoodieWrapperFileSystem.java",
        "extension" : "java",
        "linesOfCode" : 865,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 642,
      "startLine" : 653,
      "endLine" : 664,
      "cleanedStartLine" : 383,
      "cleanedEndLine" : 390
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2833,
      "endLine" : 2840,
      "cleanedStartLine" : 1547,
      "cleanedEndLine" : 1554
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3465,
      "endLine" : 3472,
      "cleanedStartLine" : 1888,
      "cleanedEndLine" : 1895
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 653,
      "endLine" : 660,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 196,
      "endLine" : 203,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/GcsEventsHoodieIncrSource.java",
        "extension" : "java",
        "linesOfCode" : 111,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 69,
      "startLine" : 175,
      "endLine" : 183,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/S3EventsHoodieIncrSource.java",
        "extension" : "java",
        "linesOfCode" : 130,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 150,
      "endLine" : 158,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 213,
      "endLine" : 222,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 390,
      "endLine" : 399,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 160
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 635,
      "endLine" : 642,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 343
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkConcatAndReplaceHandle.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 67,
      "endLine" : 77,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkConcatHandle.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 66,
      "endLine" : 76,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 635,
      "endLine" : 642,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 343
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3459,
      "endLine" : 3466,
      "cleanedStartLine" : 1886,
      "cleanedEndLine" : 1893
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2832,
      "endLine" : 2839,
      "cleanedStartLine" : 1547,
      "cleanedEndLine" : 1554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 77,
      "endLine" : 85,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-aws/src/main/java/org/apache/hudi/aws/transaction/lock/DynamoDBBasedLockProvider.java",
        "extension" : "java",
        "linesOfCode" : 168,
        "components" : [ "primary::hudi-aws" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 129,
      "endLine" : 139,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/ZookeeperBasedLockProvider.java",
        "extension" : "java",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 108,
      "startLine" : 156,
      "endLine" : 166,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/MergeOnReadIncrementalRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 201,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 147,
      "startLine" : 103,
      "endLine" : 112,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/MergeOnReadIncrementalRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 201,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 147,
      "startLine" : 125,
      "endLine" : 132,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 2827,
      "endLine" : 2834,
      "cleanedStartLine" : 1545,
      "cleanedEndLine" : 1552
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3465,
      "endLine" : 3472,
      "cleanedStartLine" : 1888,
      "cleanedEndLine" : 1895
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieInternalProxyIndex.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 51,
      "endLine" : 62,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieBucketIndex.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 77,
      "endLine" : 88,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 475,
      "endLine" : 483,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 491,
      "endLine" : 499,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 87,
      "endLine" : 98,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 121,
      "endLine" : 132,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 118,
      "endLine" : 127,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 431,
      "endLine" : 442,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 196
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 548,
      "endLine" : 559,
      "cleanedStartLine" : 328,
      "cleanedEndLine" : 335
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 608,
      "endLine" : 617,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 306
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 460,
      "endLine" : 469,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 608,
      "endLine" : 617,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 306
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 398,
      "endLine" : 407,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/StreamerUtil.java",
        "extension" : "java",
        "linesOfCode" : 371,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 247,
      "startLine" : 135,
      "endLine" : 145,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 253,
      "endLine" : 263,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 247,
      "endLine" : 255,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 589,
      "endLine" : 604,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 241,
      "endLine" : 249,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 566,
      "endLine" : 581,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 608,
      "endLine" : 617,
      "cleanedStartLine" : 299,
      "cleanedEndLine" : 306
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 335,
      "endLine" : 344,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/inmemory/HoodieInMemoryHashIndex.java",
        "extension" : "java",
        "linesOfCode" : 91,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 102,
      "endLine" : 119,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkMetadataTableRecordIndex.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 73,
      "startLine" : 126,
      "endLine" : 141,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/IndexingCatchupTaskFactory.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 48,
      "endLine" : 55,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/IndexingCatchupTaskFactory.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 58,
      "endLine" : 65,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 197,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 85,
      "endLine" : 92,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 197,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 98,
      "endLine" : 105,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 240,
      "endLine" : 251,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 266,
      "endLine" : 277,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 654,
      "endLine" : 661,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 102,
      "endLine" : 113,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 119,
      "endLine" : 130,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 191,
      "endLine" : 201,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 215,
      "endLine" : 225,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 69,
      "endLine" : 80,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 515,
      "endLine" : 524,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 715,
      "endLine" : 724,
      "cleanedStartLine" : 624,
      "cleanedEndLine" : 631
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 298,
      "endLine" : 306,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 356,
      "endLine" : 366,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 196,
      "endLine" : 203,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 654,
      "endLine" : 661,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringCommitSink.java",
        "extension" : "java",
        "linesOfCode" : 157,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 96,
      "endLine" : 106,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionCommitSink.java",
        "extension" : "java",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 93,
      "endLine" : 103,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 125,
      "endLine" : 132,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 106
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 294,
      "endLine" : 301,
      "cleanedStartLine" : 221,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 650,
      "endLine" : 657,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 184,
      "endLine" : 192,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 237,
      "endLine" : 245,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/clean/CleanMetadataV1MigrationHandler.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 84,
      "endLine" : 92,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/clean/CleanMetadataV2MigrationHandler.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 75,
      "endLine" : 83,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 124,
      "endLine" : 133,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 87,
      "endLine" : 98,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 247,
      "endLine" : 255,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 566,
      "endLine" : 581,
      "cleanedStartLine" : 281,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 653,
      "endLine" : 660,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 633,
      "endLine" : 640,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/StreamerUtil.java",
        "extension" : "java",
        "linesOfCode" : 371,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 247,
      "startLine" : 107,
      "endLine" : 114,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 244,
      "endLine" : 251,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 125
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/avro/HoodieAvroUtils.java",
        "extension" : "java",
        "linesOfCode" : 982,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 726,
      "startLine" : 584,
      "endLine" : 591,
      "cleanedStartLine" : 238,
      "cleanedEndLine" : 245
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HoodieRealtimeRecordReaderUtils.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 164,
      "startLine" : 131,
      "endLine" : 138,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 298,
      "endLine" : 306,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 366,
      "endLine" : 376,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 471,
      "endLine" : 479,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 291
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 491,
      "endLine" : 499,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 636,
      "endLine" : 643,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 344
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 182,
      "endLine" : 189,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 636,
      "endLine" : 643,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 344
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 77,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark30ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 236,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 46,
      "endLine" : 54,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark31ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 46,
      "endLine" : 54,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 471,
      "endLine" : 479,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 291
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 473,
      "endLine" : 481,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 652,
      "endLine" : 659,
      "cleanedStartLine" : 350,
      "cleanedEndLine" : 357
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 184,
      "endLine" : 192,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 237,
      "endLine" : 245,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/GenericRecordFullPayloadGenerator.java",
        "extension" : "java",
        "linesOfCode" : 289,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 219,
      "startLine" : 349,
      "endLine" : 358,
      "cleanedStartLine" : 168,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/GenericRecordFullPayloadSizeEstimator.java",
        "extension" : "java",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 114,
      "endLine" : 129,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 2829,
      "endLine" : 2836,
      "cleanedStartLine" : 1546,
      "cleanedEndLine" : 1553
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3463,
      "endLine" : 3470,
      "cleanedStartLine" : 1888,
      "cleanedEndLine" : 1895
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 373,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 186,
      "endLine" : 194,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieIncrementalFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 110,
      "endLine" : 118,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3449,
      "endLine" : 3456,
      "cleanedStartLine" : 1881,
      "cleanedEndLine" : 1888
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2833,
      "endLine" : 2840,
      "cleanedStartLine" : 1547,
      "cleanedEndLine" : 1554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 97,
      "endLine" : 104,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1056,
      "endLine" : 1063,
      "cleanedStartLine" : 905,
      "cleanedEndLine" : 912
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 2827,
      "endLine" : 2834,
      "cleanedStartLine" : 1545,
      "cleanedEndLine" : 1552
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3449,
      "endLine" : 3456,
      "cleanedStartLine" : 1881,
      "cleanedEndLine" : 1888
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/AutoRecordGenWrapperAvroKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 71,
      "endLine" : 84,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/AutoRecordGenWrapperKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 95,
      "endLine" : 108,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 70,
      "endLine" : 81,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 57,
      "endLine" : 67,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 55,
      "endLine" : 65,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/BaseHoodieTableFileIndex.java",
        "extension" : "java",
        "linesOfCode" : 356,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 299,
      "endLine" : 309,
      "cleanedStartLine" : 117,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/BaseHoodieTableFileIndex.java",
        "extension" : "java",
        "linesOfCode" : 356,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 257,
      "startLine" : 326,
      "endLine" : 336,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 244,
      "endLine" : 255,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 266,
      "endLine" : 277,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 637,
      "endLine" : 644,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 344
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 184,
      "endLine" : 192,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 237,
      "endLine" : 245,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 515,
      "endLine" : 524,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 715,
      "endLine" : 724,
      "cleanedStartLine" : 624,
      "cleanedEndLine" : 631
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 635,
      "endLine" : 642,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 343
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 589,
      "endLine" : 604,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 241,
      "endLine" : 249,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieAvroDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 257,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieParquetDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 68,
      "endLine" : 75,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 45,
      "endLine" : 56,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowTablePropertiesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 49,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 307,
      "endLine" : 314,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 228,
      "endLine" : 235,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 122,
      "endLine" : 130,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/StreamWriteFunction.java",
        "extension" : "java",
        "linesOfCode" : 335,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 246,
      "startLine" : 500,
      "endLine" : 511,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 233
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/append/AppendWriteFunction.java",
        "extension" : "java",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 169,
      "endLine" : 179,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 633,
      "endLine" : 640,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 2829,
      "endLine" : 2836,
      "cleanedStartLine" : 1546,
      "cleanedEndLine" : 1553
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3465,
      "endLine" : 3472,
      "cleanedStartLine" : 1888,
      "cleanedEndLine" : 1895
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 60,
      "endLine" : 71,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 70,
      "endLine" : 81,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 2827,
      "endLine" : 2834,
      "cleanedStartLine" : 1545,
      "cleanedEndLine" : 1552
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3463,
      "endLine" : 3470,
      "cleanedStartLine" : 1888,
      "cleanedEndLine" : 1895
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/PartitionPathEncodeUtils.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 93,
      "endLine" : 100,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FilePathUtils.java",
        "extension" : "java",
        "linesOfCode" : 314,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 233,
      "endLine" : 240,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/StreamerUtil.java",
        "extension" : "java",
        "linesOfCode" : 371,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 247,
      "startLine" : 135,
      "endLine" : 145,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 255,
      "endLine" : 265,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 134
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 191,
      "endLine" : 201,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 191,
      "endLine" : 201,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 184,
      "endLine" : 192,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 223,
      "endLine" : 231,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterHoodieTableDropPartitionCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/command/TruncateHoodieTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 188,
      "endLine" : 197,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 158,
      "endLine" : 165,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 650,
      "endLine" : 657,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 356
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 196,
      "endLine" : 203,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataParquetWriteSupport.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 49,
      "endLine" : 59,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowParquetWriteSupport.java",
        "extension" : "java",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 58,
      "endLine" : 68,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 193,
      "endLine" : 200,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 652,
      "endLine" : 659,
      "cleanedStartLine" : 350,
      "cleanedEndLine" : 357
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 515,
      "endLine" : 524,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 715,
      "endLine" : 724,
      "cleanedStartLine" : 624,
      "cleanedEndLine" : 631
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark33NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 406,
      "endLine" : 414,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 522,
      "endLine" : 530,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 128,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 124,
      "endLine" : 133,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 38,
      "endLine" : 49,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunBootstrapProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 708,
      "endLine" : 717,
      "cleanedStartLine" : 367,
      "cleanedEndLine" : 374
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 398,
      "endLine" : 407,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 708,
      "endLine" : 717,
      "cleanedStartLine" : 367,
      "cleanedEndLine" : 374
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 460,
      "endLine" : 469,
      "cleanedStartLine" : 273,
      "cleanedEndLine" : 280
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 298,
      "endLine" : 306,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 377,
      "endLine" : 387,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 501,
      "endLine" : 511,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 237
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 564,
      "endLine" : 574,
      "cleanedStartLine" : 274,
      "cleanedEndLine" : 281
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 100,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 47,
      "endLine" : 58,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 471,
      "endLine" : 479,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 291
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 473,
      "endLine" : 481,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 282,
      "endLine" : 289,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 707,
      "endLine" : 714,
      "cleanedStartLine" : 406,
      "cleanedEndLine" : 413
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 65,
      "endLine" : 74,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 280,
      "startLine" : 103,
      "endLine" : 112,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 176,
      "endLine" : 185,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 167,
      "endLine" : 176,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/MysqlDebeziumSource.java",
        "extension" : "java",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 74,
      "endLine" : 82,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/PostgresDebeziumSource.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 65,
      "endLine" : 73,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HMSDDLExecutor.java",
        "extension" : "java",
        "linesOfCode" : 250,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 247,
      "endLine" : 256,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 148
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HiveQueryDDLExecutor.java",
        "extension" : "java",
        "linesOfCode" : 121,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 128,
      "endLine" : 137,
      "cleanedStartLine" : 55,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 153,
      "endLine" : 160,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 145,
      "endLine" : 152,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 654,
      "endLine" : 661,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
        "extension" : "java",
        "linesOfCode" : 584,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 222,
      "endLine" : 229,
      "cleanedStartLine" : 75,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
        "extension" : "java",
        "linesOfCode" : 584,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 406,
      "endLine" : 413,
      "cleanedStartLine" : 197,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/AvroKafkaSource.java",
        "extension" : "java",
        "linesOfCode" : 104,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 82,
      "endLine" : 90,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/DebeziumSource.java",
        "extension" : "java",
        "linesOfCode" : 160,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 103,
      "startLine" : 88,
      "endLine" : 96,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 87,
      "endLine" : 98,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 2827,
      "endLine" : 2834,
      "cleanedStartLine" : 1545,
      "cleanedEndLine" : 1552
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3459,
      "endLine" : 3466,
      "cleanedStartLine" : 1886,
      "cleanedEndLine" : 1893
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 171,
      "endLine" : 179,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 146
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 182,
      "endLine" : 189,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 635,
      "endLine" : 642,
      "cleanedStartLine" : 336,
      "cleanedEndLine" : 343
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 193,
      "endLine" : 200,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 650,
      "endLine" : 657,
      "cleanedStartLine" : 349,
      "cleanedEndLine" : 356
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 652,
      "endLine" : 659,
      "cleanedStartLine" : 350,
      "cleanedEndLine" : 357
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 195,
      "endLine" : 202,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 100,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 47,
      "endLine" : 58,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3463,
      "endLine" : 3470,
      "cleanedStartLine" : 1888,
      "cleanedEndLine" : 1895
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2833,
      "endLine" : 2840,
      "cleanedStartLine" : 1547,
      "cleanedEndLine" : 1554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 307,
      "endLine" : 314,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 191
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 228,
      "endLine" : 235,
      "cleanedStartLine" : 129,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 39,
      "endLine" : 50,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunBootstrapProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 61,
      "endLine" : 72,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/BaseActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 103,
      "endLine" : 110,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/BaseActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 122,
      "endLine" : 129,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 636,
      "endLine" : 643,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 344
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 185,
      "endLine" : 192,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 97,
      "endLine" : 104,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1056,
      "endLine" : 1063,
      "cleanedStartLine" : 905,
      "cleanedEndLine" : 912
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/HoodieBloomIndex.java",
        "extension" : "java",
        "linesOfCode" : 204,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 142,
      "startLine" : 249,
      "endLine" : 267,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieBucketIndex.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 77,
      "endLine" : 88,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 193,
      "endLine" : 200,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 654,
      "endLine" : 661,
      "cleanedStartLine" : 351,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 333,
      "endLine" : 342,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 109
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 167,
      "endLine" : 176,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/AvroOrcUtils.java",
        "extension" : "java",
        "linesOfCode" : 703,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 608,
      "startLine" : 731,
      "endLine" : 740,
      "cleanedStartLine" : 495,
      "cleanedEndLine" : 502
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/internal/schema/convert/AvroInternalSchemaConverter.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 442,
      "endLine" : 452,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 60,
      "endLine" : 71,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 67,
      "endLine" : 78,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 117,
      "endLine" : 124,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 168,
      "endLine" : 175,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieParquetDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 150,
      "endLine" : 162,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieParquetDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 172,
      "endLine" : 184,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/utils/SparkSqlUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 231,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 480,
      "endLine" : 488,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/utils/SparkSqlUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 231,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 510,
      "endLine" : 518,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 179
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 45,
      "endLine" : 56,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 49,
      "endLine" : 60,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2832,
      "endLine" : 2839,
      "cleanedStartLine" : 1547,
      "cleanedEndLine" : 1554
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3463,
      "endLine" : 3470,
      "cleanedStartLine" : 1888,
      "cleanedEndLine" : 1895
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
        "extension" : "java",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 351,
      "endLine" : 361,
      "cleanedStartLine" : 210,
      "cleanedEndLine" : 217
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 298,
      "endLine" : 309,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark31NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieIncrementalFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 78,
      "endLine" : 86,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieIncrementalFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 110,
      "endLine" : 118,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 72
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 22,
      "endLine" : 30,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 22,
      "endLine" : 30,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3459,
      "endLine" : 3466,
      "cleanedStartLine" : 1886,
      "cleanedEndLine" : 1893
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2833,
      "endLine" : 2840,
      "cleanedStartLine" : 1547,
      "cleanedEndLine" : 1554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/ColumnStatsIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 285,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 215,
      "startLine" : 340,
      "endLine" : 349,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 127
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/FunctionalIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 158,
      "endLine" : 167,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 60,
      "endLine" : 71,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 69,
      "endLine" : 80,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/BinaryUtil.java",
        "extension" : "java",
        "linesOfCode" : 144,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 134,
      "endLine" : 144,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/io/util/IOUtils.java",
        "extension" : "java",
        "linesOfCode" : 175,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 253,
      "endLine" : 269,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 97,
      "endLine" : 104,
      "cleanedStartLine" : 84,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1056,
      "endLine" : 1063,
      "cleanedStartLine" : 905,
      "cleanedEndLine" : 912
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 241,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 200,
      "endLine" : 209,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 169,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 178,
      "endLine" : 188,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 532,
      "endLine" : 541,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 398,
      "endLine" : 407,
      "cleanedStartLine" : 230,
      "cleanedEndLine" : 237
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 532,
      "endLine" : 541,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 259
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 335,
      "endLine" : 344,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 87,
      "endLine" : 98,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 120,
      "endLine" : 131,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3449,
      "endLine" : 3456,
      "cleanedStartLine" : 1881,
      "cleanedEndLine" : 1888
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 2832,
      "endLine" : 2839,
      "cleanedStartLine" : 1547,
      "cleanedEndLine" : 1554
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 475,
      "endLine" : 483,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 295
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 473,
      "endLine" : 481,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 148,
      "endLine" : 158,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 55,
      "endLine" : 65,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 244,
      "endLine" : 255,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 254,
      "endLine" : 265,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 143
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 95,
      "endLine" : 102,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 269,
      "endLine" : 276,
      "cleanedStartLine" : 152,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 2829,
      "endLine" : 2836,
      "cleanedStartLine" : 1546,
      "cleanedEndLine" : 1553
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3459,
      "endLine" : 3466,
      "cleanedStartLine" : 1886,
      "cleanedEndLine" : 1893
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/ComplexKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 74,
      "endLine" : 83,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 32
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/SimpleKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 101,
      "endLine" : 110,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 100,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 47,
      "endLine" : 58,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 199,
      "endLine" : 207,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 167,
      "endLine" : 176,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 48,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 108,
      "endLine" : 116,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/PartitionPathEncodeUtils.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 41,
      "endLine" : 49,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FilePathUtils.java",
        "extension" : "java",
        "linesOfCode" : 314,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 65,
      "endLine" : 73,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 637,
      "endLine" : 644,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 344
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 515,
      "endLine" : 524,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 715,
      "endLine" : 724,
      "cleanedStartLine" : 624,
      "cleanedEndLine" : 631
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 134,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 156,
      "endLine" : 164,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategyRecently.java",
        "extension" : "java",
        "linesOfCode" : 89,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 84,
      "endLine" : 92,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
        "extension" : "java",
        "linesOfCode" : 589,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 462,
      "startLine" : 658,
      "endLine" : 665,
      "cleanedStartLine" : 450,
      "cleanedEndLine" : 457
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/ArchiveExecutorUtils.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 54,
      "endLine" : 61,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 60,
      "endLine" : 71,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 77,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 298,
      "endLine" : 306,
      "cleanedStartLine" : 171,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 378,
      "endLine" : 388,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 244,
      "endLine" : 255,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 265,
      "endLine" : 276,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 153
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/DeleteGeneratorIterator.java",
        "extension" : "java",
        "linesOfCode" : 22,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 38,
      "endLine" : 49,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/generator/UpdateGeneratorIterator.java",
        "extension" : "java",
        "linesOfCode" : 33,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 50,
      "endLine" : 61,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 299,
      "endLine" : 308,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 157
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 308,
      "endLine" : 317,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 131
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/MysqlDebeziumSource.java",
        "extension" : "java",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 66,
      "endLine" : 73,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/MysqlDebeziumSource.java",
        "extension" : "java",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 79,
      "endLine" : 86,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 34,
      "endLine" : 42,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieSliceInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 27,
      "endLine" : 35,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/BaseActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 84,
      "endLine" : 91,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/BaseActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 122,
      "endLine" : 129,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/BaseActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 84,
      "endLine" : 91,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/BaseActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 103,
      "endLine" : 110,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark35NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 191,
      "endLine" : 201,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 111
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 215,
      "endLine" : 225,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 182,
      "endLine" : 189,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 637,
      "endLine" : 644,
      "cleanedStartLine" : 337,
      "cleanedEndLine" : 344
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/AvroOrcUtils.java",
        "extension" : "java",
        "linesOfCode" : 703,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 608,
      "startLine" : 832,
      "endLine" : 841,
      "cleanedStartLine" : 570,
      "cleanedEndLine" : 577
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/internal/schema/convert/AvroInternalSchemaConverter.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 442,
      "endLine" : 452,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 227
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 471,
      "endLine" : 479,
      "cleanedStartLine" : 284,
      "cleanedEndLine" : 291
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 473,
      "endLine" : 481,
      "cleanedStartLine" : 296,
      "cleanedEndLine" : 303
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 633,
      "endLine" : 640,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 342
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 182,
      "endLine" : 189,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 633,
      "endLine" : 640,
      "cleanedStartLine" : 335,
      "cleanedEndLine" : 342
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 89,
      "endLine" : 100,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 47,
      "endLine" : 58,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/state/FlinkInMemoryStateIndex.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 61,
      "endLine" : 75,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkMetadataTableRecordIndex.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 73,
      "startLine" : 126,
      "endLine" : 141,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 8,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1131,
      "endLine" : 1138,
      "cleanedStartLine" : 978,
      "cleanedEndLine" : 985
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1372,
      "endLine" : 1379,
      "cleanedStartLine" : 1217,
      "cleanedEndLine" : 1224
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 67,
      "endLine" : 74,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-aws" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-aws" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 144,
      "endLine" : 150,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 47,
      "endLine" : 57,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 61,
      "endLine" : 71,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 187,
      "endLine" : 193,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/DatasetBulkInsertOverwriteCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 50,
      "endLine" : 58,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/commit/HoodieStreamerDatasetBulkInsertCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 49,
      "endLine" : 57,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 240,
      "endLine" : 250,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BaseSparkCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 303,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 345,
      "endLine" : 355,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 66,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 74,
      "endLine" : 80,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 83,
      "endLine" : 91,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 85,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 285,
      "endLine" : 291,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 321,
      "endLine" : 327,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 636,
      "endLine" : 642,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 344
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 655,
      "endLine" : 661,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 359
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 142,
      "endLine" : 156,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 204,
      "endLine" : 218,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 216,
      "endLine" : 227,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 233,
      "endLine" : 244,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowFileSystemViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 228,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 138,
      "endLine" : 145,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowFileSystemViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 228,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 178,
      "endLine" : 185,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 127
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 256,
      "endLine" : 265,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 271,
      "endLine" : 280,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkUpsertCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 41,
      "endLine" : 49,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/delta/FlinkUpsertDeltaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 28,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 15,
      "startLine" : 41,
      "endLine" : 49,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 341,
      "endLine" : 347,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 460,
      "endLine" : 466,
      "cleanedStartLine" : 265,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 285,
      "endLine" : 291,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 321,
      "endLine" : 327,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 188,
      "endLine" : 194,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 96,
      "endLine" : 102,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandleWithChangeLog.java",
        "extension" : "java",
        "linesOfCode" : 66,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 93,
      "endLine" : 99,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 212,
      "endLine" : 223,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 66,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 83,
      "endLine" : 91,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 85,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 155,
      "endLine" : 166,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 173,
      "endLine" : 184,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 341,
      "endLine" : 347,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 471,
      "endLine" : 477,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 281
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 172,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 209,
      "endLine" : 219,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeUnmergedRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 104,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 137,
      "endLine" : 147,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ClusteringTask.java",
        "extension" : "java",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 127,
      "endLine" : 137,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/CompactionTask.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 145,
      "endLine" : 155,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/IncrementalQueryAnalyzer.java",
        "extension" : "java",
        "linesOfCode" : 266,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 195,
      "startLine" : 345,
      "endLine" : 351,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/IncrementalQueryAnalyzer.java",
        "extension" : "java",
        "linesOfCode" : 266,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 195,
      "startLine" : 362,
      "endLine" : 368,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 177,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/DagUtils.java",
        "extension" : "java",
        "linesOfCode" : 362,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 268,
      "startLine" : 361,
      "endLine" : 368,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 230
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/DagUtils.java",
        "extension" : "java",
        "linesOfCode" : 362,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 268,
      "startLine" : 411,
      "endLine" : 418,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/metadata/JavaHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 84,
      "endLine" : 95,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metadata/SparkHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 163,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 123,
      "endLine" : 134,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 142,
      "endLine" : 156,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 199,
      "endLine" : 213,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 295,
      "endLine" : 306,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 349,
      "endLine" : 360,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 656,
      "endLine" : 662,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 360
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 640,
      "endLine" : 646,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitExtraMetadataProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 51,
      "endLine" : 61,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 241,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 218,
      "endLine" : 224,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 169,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/SparkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 41,
      "endLine" : 47,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/SparkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 52,
      "endLine" : 58,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/metadata/FlinkHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 131,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 95,
      "endLine" : 106,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metadata/SparkHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 163,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 123,
      "endLine" : 134,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/CleanTask.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 80,
      "endLine" : 90,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/CompactionTask.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 145,
      "endLine" : 155,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/FileSystemViewCommand.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/FileSystemViewCommand.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 83,
      "endLine" : 91,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 85,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/IncrementalInputSplits.java",
        "extension" : "java",
        "linesOfCode" : 391,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 177,
      "endLine" : 184,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/IncrementalInputSplits.java",
        "extension" : "java",
        "linesOfCode" : 391,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 297,
      "startLine" : 205,
      "endLine" : 212,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 155,
      "endLine" : 166,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 174,
      "endLine" : 185,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 180,
      "endLine" : 186,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 189,
      "endLine" : 195,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/hudi/Spark34HoodieFileScanRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 15,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 28,
      "endLine" : 35,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/hudi/Spark35HoodieFileScanRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 15,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 28,
      "endLine" : 35,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 175,
      "endLine" : 181,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 187,
      "endLine" : 193,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 539,
      "endLine" : 545,
      "cleanedStartLine" : 257,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 647,
      "endLine" : 653,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 333
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 178,
      "endLine" : 185,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 188,
      "endLine" : 194,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 216,
      "endLine" : 227,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
        "extension" : "java",
        "linesOfCode" : 589,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 462,
      "startLine" : 160,
      "endLine" : 167,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
        "extension" : "java",
        "linesOfCode" : 589,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 462,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataFileWriterFactory.java",
        "extension" : "java",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieInternalRowFileWriterFactory.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 75,
      "endLine" : 81,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
        "extension" : "java",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 168,
      "endLine" : 174,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/UtilHelpers.java",
        "extension" : "java",
        "linesOfCode" : 514,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 194,
      "endLine" : 200,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 60
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 177,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 144,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 452,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 10,
      "endLine" : 16,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/AwsGlueCatalogSyncTool.java",
        "extension" : "java",
        "linesOfCode" : 32,
        "components" : [ "primary::hudi-aws" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncTool.java",
        "extension" : "java",
        "linesOfCode" : 358,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 251,
      "startLine" : 472,
      "endLine" : 478,
      "cleanedStartLine" : 244,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 42,
      "endLine" : 49,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 314,
      "endLine" : 320,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 276
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 221,
      "endLine" : 227,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 194,
      "endLine" : 205,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 314,
      "endLine" : 320,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 276
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 256,
      "endLine" : 265,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 273,
      "endLine" : 282,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/index/JavaHoodieIndex.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkHoodieIndex.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 917,
      "endLine" : 927,
      "cleanedStartLine" : 473,
      "cleanedEndLine" : 479
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/PrefixKeySpec.java",
        "extension" : "java",
        "linesOfCode" : 16,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 33,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 194,
      "endLine" : 205,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 155,
      "endLine" : 166,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 170,
      "endLine" : 181,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 636,
      "endLine" : 642,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 344
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 657,
      "endLine" : 663,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 275,
      "endLine" : 283,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 310,
      "endLine" : 318,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 232,
      "endLine" : 238,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 142,
      "endLine" : 156,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 207,
      "endLine" : 221,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 107,
      "endLine" : 115,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 76,
      "endLine" : 84,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 341,
      "endLine" : 347,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 450,
      "endLine" : 456,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 640,
      "endLine" : 646,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 346
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 657,
      "endLine" : 663,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 84,
      "endLine" : 90,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 96,
      "endLine" : 102,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/HoodieSqlCommonUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 253,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 196,
      "endLine" : 205,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 325,
      "endLine" : 334,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 204
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 77,
      "endLine" : 83,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 98,
      "endLine" : 104,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/BaseFlinkCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 142,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 171,
      "endLine" : 178,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 84
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 230,
      "endLine" : 237,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 279,
      "endLine" : 287,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 310,
      "endLine" : 318,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 69,
      "endLine" : 92,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandle.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 75,
      "endLine" : 98,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 297,
      "endLine" : 303,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 157
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/view/RocksDbBasedFileSystemView.java",
        "extension" : "java",
        "linesOfCode" : 484,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 290,
      "endLine" : 296,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/view/RocksDbBasedFileSystemView.java",
        "extension" : "java",
        "linesOfCode" : 484,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 401,
      "startLine" : 364,
      "endLine" : 370,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 193,
      "endLine" : 199,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 639,
      "endLine" : 645,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 346
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 656,
      "endLine" : 662,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 155,
      "endLine" : 166,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 171,
      "endLine" : 182,
      "cleanedStartLine" : 95,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 188,
      "endLine" : 194,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 263,
      "endLine" : 269,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 321,
      "endLine" : 327,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 142,
      "endLine" : 156,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 199,
      "endLine" : 213,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 47,
      "endLine" : 57,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 61,
      "endLine" : 71,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 460,
      "endLine" : 472,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 239
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 644,
      "endLine" : 655,
      "cleanedStartLine" : 342,
      "cleanedEndLine" : 348
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 85,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ArchiveCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 43,
      "endLine" : 53,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 177,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 190,
      "endLine" : 196,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 116,
      "endLine" : 122,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 170,
      "endLine" : 177,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/HoodieAdbJdbcClient.java",
        "extension" : "java",
        "linesOfCode" : 413,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 464,
      "endLine" : 473,
      "cleanedStartLine" : 279,
      "cleanedEndLine" : 285
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieSyncClient.java",
        "extension" : "java",
        "linesOfCode" : 160,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 212,
      "endLine" : 222,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 295,
      "endLine" : 306,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 349,
      "endLine" : 360,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieBaseRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 532,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 425,
      "startLine" : 267,
      "endLine" : 273,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieHadoopFsRelationFactory.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 218,
      "endLine" : 224,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 649,
      "endLine" : 657,
      "cleanedStartLine" : 344,
      "cleanedEndLine" : 350
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 819,
      "endLine" : 827,
      "cleanedStartLine" : 466,
      "cleanedEndLine" : 472
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieConsistentBucketLayout.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieSimpleBucketLayout.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 279,
      "endLine" : 287,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 310,
      "endLine" : 318,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 47,
      "endLine" : 57,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 139,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 59,
      "endLine" : 69,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 164,
      "endLine" : 175,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 102,
      "endLine" : 112,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCleaner.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 98,
      "endLine" : 106,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 295,
      "endLine" : 306,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 190
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 349,
      "endLine" : 360,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 253,
      "endLine" : 261,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 160
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 298,
      "endLine" : 306,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 118,
      "endLine" : 128,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 87,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 247,
      "endLine" : 257,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 241,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 289,
      "endLine" : 299,
      "cleanedStartLine" : 122,
      "cleanedEndLine" : 128
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/cluster/JavaExecuteClusteringCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 46,
      "endLine" : 54,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/cluster/SparkExecuteClusteringCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 35,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 42,
      "endLine" : 50,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 638,
      "endLine" : 644,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 345
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 655,
      "endLine" : 661,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 359
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 180,
      "endLine" : 186,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 193,
      "endLine" : 199,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 344,
      "endLine" : 352,
      "cleanedStartLine" : 215,
      "cleanedEndLine" : 221
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 361,
      "endLine" : 369,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ArchiveCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 43,
      "endLine" : 53,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 655,
      "endLine" : 661,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 359
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 640,
      "endLine" : 646,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 188,
      "endLine" : 194,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 279,
      "endLine" : 287,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 175
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 310,
      "endLine" : 318,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 460,
      "endLine" : 472,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 239
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 508,
      "endLine" : 525,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 321,
      "endLine" : 329,
      "cleanedStartLine" : 203,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 361,
      "endLine" : 369,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieTableServiceClient.java",
        "extension" : "java",
        "linesOfCode" : 800,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 604,
      "startLine" : 352,
      "endLine" : 374,
      "cleanedStartLine" : 143,
      "cleanedEndLine" : 149
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java",
        "extension" : "java",
        "linesOfCode" : 840,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 601,
      "startLine" : 1061,
      "endLine" : 1082,
      "cleanedStartLine" : 402,
      "cleanedEndLine" : 408
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieConcatHandle.java",
        "extension" : "java",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 104,
      "endLine" : 113,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkConcatHandle.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 66,
      "endLine" : 75,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 241,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 452,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 203,
      "endLine" : 209,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 118,
      "endLine" : 126,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/HoodieMultiTableServicesMain.java",
        "extension" : "java",
        "linesOfCode" : 197,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 150,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 175,
      "endLine" : 181,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 190,
      "endLine" : 196,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 180,
      "endLine" : 186,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 47,
      "endLine" : 57,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/hudi/parser/HoodieSpark2ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 49,
      "endLine" : 59,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/hudi/Spark32ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/hudi/Spark35ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/cdc/CDCFileGroupIterator.scala",
        "extension" : "scala",
        "linesOfCode" : 415,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 331,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/cdc/HoodieCDCRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 439,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 351,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 261,
      "endLine" : 267,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 223,
      "endLine" : 229,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieBootstrapMORRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieBootstrapRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 149,
      "endLine" : 156,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 385,
      "endLine" : 395,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 197
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 479,
      "endLine" : 489,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 264
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 261,
      "endLine" : 267,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 245,
      "endLine" : 251,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTablePartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 41,
      "endLine" : 52,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 39,
      "endLine" : 50,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/avro/AvroSchemaCompatibility.java",
        "extension" : "java",
        "linesOfCode" : 603,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 446,
      "startLine" : 335,
      "endLine" : 341,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/avro/HoodieAvroUtils.java",
        "extension" : "java",
        "linesOfCode" : 982,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 726,
      "startLine" : 1034,
      "endLine" : 1040,
      "cleanedStartLine" : 466,
      "cleanedEndLine" : 472
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 653,
      "endLine" : 659,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 638,
      "endLine" : 644,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 345
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/deltacommit/BaseJavaDeltaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 63,
      "endLine" : 69,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/BaseSparkDeltaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 78,
      "endLine" : 84,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 110,
      "endLine" : 118,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/HoodieMultiTableServicesMain.java",
        "extension" : "java",
        "linesOfCode" : 197,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 150,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 285,
      "endLine" : 291,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 321,
      "endLine" : 327,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 261,
      "endLine" : 267,
      "cleanedStartLine" : 222,
      "cleanedEndLine" : 228
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 65,
      "endLine" : 71,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieStreamingSink.scala",
        "extension" : "scala",
        "linesOfCode" : 275,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 257,
      "endLine" : 268,
      "cleanedStartLine" : 160,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieStreamingSink.scala",
        "extension" : "scala",
        "linesOfCode" : 275,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 210,
      "startLine" : 285,
      "endLine" : 296,
      "cleanedStartLine" : 180,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 289,
      "endLine" : 295,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 321,
      "endLine" : 327,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 653,
      "endLine" : 659,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 640,
      "endLine" : 646,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 108,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 152,
      "endLine" : 159,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandle.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 263,
      "endLine" : 269,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 309,
      "endLine" : 315,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 348,
      "endLine" : 354,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 276,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 365,
      "endLine" : 374,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 430,
      "endLine" : 439,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieContinuousTestSuiteWriter.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 87,
      "endLine" : 94,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/HoodieInlineTestSuiteWriter.java",
        "extension" : "java",
        "linesOfCode" : 173,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 109,
      "startLine" : 67,
      "endLine" : 74,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 568,
      "endLine" : 577,
      "cleanedStartLine" : 277,
      "cleanedEndLine" : 283
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 368,
      "endLine" : 377,
      "cleanedStartLine" : 211,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/HoodieAdbJdbcClient.java",
        "extension" : "java",
        "linesOfCode" : 413,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 138,
      "endLine" : 146,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/JDBCExecutor.java",
        "extension" : "java",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 137,
      "endLine" : 145,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 36,
      "endLine" : 43,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 35,
      "endLine" : 42,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkUpsertCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 24,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkUpsertDeltaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 25,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/hudi/Spark33HoodieFileScanRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 15,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 28,
      "endLine" : 35,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/hudi/Spark34HoodieFileScanRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 15,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 28,
      "endLine" : 35,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark24HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 136,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 70,
      "endLine" : 78,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 76,
      "endLine" : 84,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 348,
      "endLine" : 354,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 471,
      "endLine" : 477,
      "cleanedStartLine" : 275,
      "cleanedEndLine" : 281
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/DataSourceUtils.java",
        "extension" : "java",
        "linesOfCode" : 231,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/java/org/apache/hudi/DataSourceUtils.java",
        "extension" : "java",
        "linesOfCode" : 231,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 118,
      "endLine" : 124,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 607,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 450,
      "endLine" : 456,
      "cleanedStartLine" : 262,
      "cleanedEndLine" : 268
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 607,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 491,
      "endLine" : 497,
      "cleanedStartLine" : 292,
      "cleanedEndLine" : 298
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 341,
      "endLine" : 347,
      "cleanedStartLine" : 198,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 473,
      "endLine" : 479,
      "cleanedStartLine" : 276,
      "cleanedEndLine" : 282
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/FlinkHoodieIndex.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 55,
      "endLine" : 62,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkHoodieIndex.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 291,
      "endLine" : 297,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 255
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 314,
      "endLine" : 320,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 276
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/LegacyArchivedMetaEntryReader.java",
        "extension" : "java",
        "linesOfCode" : 237,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 228,
      "endLine" : 234,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 116
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/utils/LegacyArchivedMetaEntryReader.java",
        "extension" : "java",
        "linesOfCode" : 237,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 159,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 132
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 275,
      "endLine" : 283,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 310,
      "endLine" : 318,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 194,
      "endLine" : 205,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 263,
      "endLine" : 269,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 321,
      "endLine" : 327,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 216,
      "endLine" : 227,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
        "extension" : "java",
        "linesOfCode" : 589,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 462,
      "startLine" : 174,
      "endLine" : 181,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 71
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SparkMain.java",
        "extension" : "java",
        "linesOfCode" : 589,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 462,
      "startLine" : 235,
      "endLine" : 242,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 42,
      "endLine" : 49,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowFileSystemViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 228,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 49,
      "endLine" : 55,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowFileSystemViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 228,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 16,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/hudi/Spark32ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/hudi/Spark33ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 182,
      "endLine" : 191,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 167,
      "endLine" : 176,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/IndexingCatchupTaskFactory.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/index/RecordBasedIndexingCatchupTask.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 49,
      "endLine" : 55,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 653,
      "endLine" : 659,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 358
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 639,
      "endLine" : 645,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 180,
      "endLine" : 186,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 16,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/AvroToRowDataConverters.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 196,
      "startLine" : 118,
      "endLine" : 124,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/RowDataToAvroConverters.java",
        "extension" : "java",
        "linesOfCode" : 284,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 229,
      "startLine" : 119,
      "endLine" : 125,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 148,
      "endLine" : 154,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 241,
      "endLine" : 247,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 224
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 193,
      "endLine" : 199,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 37,
      "endLine" : 43,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 48,
      "endLine" : 54,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 375,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 138
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 452,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 74,
      "endLine" : 80,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieBaseRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 532,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 425,
      "startLine" : 126,
      "endLine" : 132,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieHadoopFsRelationFactory.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ArchiveCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 43,
      "endLine" : 53,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowTablePropertiesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 48,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 148,
      "endLine" : 154,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 207,
      "endLine" : 213,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 148,
      "endLine" : 154,
      "cleanedStartLine" : 125,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 173,
      "endLine" : 179,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableSource.java",
        "extension" : "java",
        "linesOfCode" : 541,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 392,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 280,
      "cleanedEndLine" : 286
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableSource.java",
        "extension" : "java",
        "linesOfCode" : 541,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 392,
      "startLine" : 515,
      "endLine" : 521,
      "cleanedStartLine" : 303,
      "cleanedEndLine" : 309
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 118,
      "endLine" : 126,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 110,
      "endLine" : 118,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 263,
      "endLine" : 269,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 321,
      "endLine" : 327,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 615,
      "endLine" : 621,
      "cleanedStartLine" : 304,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 647,
      "endLine" : 653,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 333
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 142,
      "endLine" : 156,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 219,
      "endLine" : 233,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 607,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 262,
      "endLine" : 273,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 411,
      "endLine" : 423,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitExtraMetadataProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 52,
      "endLine" : 62,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 607,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 267,
      "endLine" : 275,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 141
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 819,
      "endLine" : 827,
      "cleanedStartLine" : 466,
      "cleanedEndLine" : 472
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 639,
      "endLine" : 645,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 346
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 657,
      "endLine" : 663,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 607,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 262,
      "endLine" : 273,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 508,
      "endLine" : 525,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 273
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowTablePropertiesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 48,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 607,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 262,
      "endLine" : 273,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 139
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 460,
      "endLine" : 472,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 239
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 175,
      "endLine" : 181,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/parser/HoodieCommonSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 47,
      "endLine" : 57,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlParser.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 102,
      "startLine" : 61,
      "endLine" : 71,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 232,
      "endLine" : 238,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 515,
      "endLine" : 521,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 270
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/BootstrapExecutorUtils.java",
        "extension" : "java",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 255,
      "endLine" : 261,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/BootstrapExecutor.java",
        "extension" : "java",
        "linesOfCode" : 165,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 221,
      "endLine" : 227,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/ArchiveTask.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 87,
      "endLine" : 97,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/multitable/CompactionTask.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 145,
      "endLine" : 155,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/hudi/Spark33HoodieFileScanRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 15,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 28,
      "endLine" : 35,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/hudi/Spark35HoodieFileScanRDD.scala",
        "extension" : "scala",
        "linesOfCode" : 15,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 8,
      "startLine" : 28,
      "endLine" : 35,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieBaseRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 532,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 425,
      "startLine" : 223,
      "endLine" : 233,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieHadoopFsRelationFactory.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 155,
      "endLine" : 165,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/MultipleSparkJobExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 358,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 153,
      "endLine" : 159,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/MultipleSparkJobExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 358,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 367,
      "endLine" : 374,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 193
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 1262,
      "endLine" : 1269,
      "cleanedStartLine" : 769,
      "cleanedEndLine" : 775
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 245,
      "endLine" : 251,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 53,
      "endLine" : 61,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 81,
      "endLine" : 89,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 229,
      "endLine" : 235,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 223,
      "endLine" : 229,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 195
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 49,
      "endLine" : 55,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/SparkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 255,
      "endLine" : 261,
      "cleanedStartLine" : 141,
      "cleanedEndLine" : 147
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 260,
      "endLine" : 266,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 200,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 452,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 235
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkTableServiceClient.java",
        "extension" : "java",
        "linesOfCode" : 174,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 175,
      "endLine" : 185,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaTableServiceClient.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 64,
      "endLine" : 74,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 16,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 188,
      "endLine" : 194,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 162
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 173
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/view/AbstractTableFileSystemView.java",
        "extension" : "java",
        "linesOfCode" : 1039,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 809,
      "startLine" : 773,
      "endLine" : 779,
      "cleanedStartLine" : 399,
      "cleanedEndLine" : 405
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/view/AbstractTableFileSystemView.java",
        "extension" : "java",
        "linesOfCode" : 1039,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 809,
      "startLine" : 884,
      "endLine" : 890,
      "cleanedStartLine" : 482,
      "cleanedEndLine" : 488
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 208,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java",
        "extension" : "java",
        "linesOfCode" : 208,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 175,
      "endLine" : 182,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 178,
      "endLine" : 185,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 80,
      "endLine" : 87,
      "cleanedStartLine" : 67,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 54,
      "endLine" : 61,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 78,
      "endLine" : 85,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkInsertCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 24,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkInsertDeltaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 25,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 12,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 53,
      "endLine" : 61,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 81,
      "endLine" : 89,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 187,
      "endLine" : 193,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 216,
      "endLine" : 227,
      "cleanedStartLine" : 120,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 508,
      "endLine" : 525,
      "cleanedStartLine" : 267,
      "cleanedEndLine" : 273
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 644,
      "endLine" : 655,
      "cleanedStartLine" : 342,
      "cleanedEndLine" : 348
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 180,
      "endLine" : 186,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 187,
      "endLine" : 193,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/hudi/Spark32ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/hudi/Spark34ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 35,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 289,
      "endLine" : 295,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 309,
      "endLine" : 315,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 126,
      "endLine" : 132,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 658,
      "endLine" : 664,
      "cleanedStartLine" : 366,
      "cleanedEndLine" : 372
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 203,
      "endLine" : 209,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 142,
      "endLine" : 156,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 77
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 218,
      "endLine" : 232,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 124
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkMetadataWriterUtils.java",
        "extension" : "java",
        "linesOfCode" : 201,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 118,
      "endLine" : 124,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/utils/SparkMetadataWriterUtils.java",
        "extension" : "java",
        "linesOfCode" : 201,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 134,
      "endLine" : 140,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertHelper.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 92,
      "endLine" : 98,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertHelper.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 212,
      "endLine" : 223,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 233,
      "endLine" : 244,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 899,
      "endLine" : 909,
      "cleanedStartLine" : 463,
      "cleanedEndLine" : 469
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/FullKeySpec.java",
        "extension" : "java",
        "linesOfCode" : 16,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 10,
      "startLine" : 33,
      "endLine" : 43,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/RowDataToAvroConverters.java",
        "extension" : "java",
        "linesOfCode" : 284,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 229,
      "startLine" : 173,
      "endLine" : 180,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/RowDataToAvroConverters.java",
        "extension" : "java",
        "linesOfCode" : 284,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 229,
      "startLine" : 200,
      "endLine" : 207,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 243,
      "endLine" : 249,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 145
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 221,
      "endLine" : 227,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 249,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 232,
      "endLine" : 240,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieMergedLogRecordScanner.java",
        "extension" : "java",
        "linesOfCode" : 327,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 333,
      "endLine" : 341,
      "cleanedStartLine" : 138,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 206,
      "endLine" : 213,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 117
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkAppendHandle.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 108,
      "endLine" : 115,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandle.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 209,
      "endLine" : 216,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/inline/InLineFileSystem.java",
        "extension" : "java",
        "linesOfCode" : 86,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 105,
      "endLine" : 115,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/inline/InMemoryFileSystem.java",
        "extension" : "java",
        "linesOfCode" : 94,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 94,
      "endLine" : 104,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 85,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 348,
      "endLine" : 356,
      "cleanedStartLine" : 219,
      "cleanedEndLine" : 225
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 361,
      "endLine" : 369,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_5Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 243,
      "endLine" : 249,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 636,
      "endLine" : 642,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 344
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 653,
      "endLine" : 659,
      "cleanedStartLine" : 352,
      "cleanedEndLine" : 358
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 187,
      "endLine" : 193,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/adapter/Spark2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 153,
      "endLine" : 159,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3-common/src/main/scala/org/apache/spark/sql/adapter/BaseSpark3Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 84,
      "endLine" : 90,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 221,
      "endLine" : 227,
      "cleanedStartLine" : 187,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 289,
      "endLine" : 295,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 321,
      "endLine" : 327,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 647,
      "endLine" : 653,
      "cleanedStartLine" : 327,
      "cleanedEndLine" : 333
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 715,
      "endLine" : 721,
      "cleanedStartLine" : 372,
      "cleanedEndLine" : 378
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 179,
      "endLine" : 186,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 189,
      "endLine" : 196,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 177,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 193,
      "endLine" : 199,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 53,
      "endLine" : 61,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 81,
      "endLine" : 89,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 187,
      "endLine" : 193,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 173,
      "endLine" : 179,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 207,
      "endLine" : 213,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkUpsertDeltaCommitPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/partitioner/profile/DeltaWriteProfile.java",
        "extension" : "java",
        "linesOfCode" : 71,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 173,
      "endLine" : 179,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 241,
      "endLine" : 247,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 224
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 232,
      "endLine" : 238,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 215
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitExtraMetadataProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 45,
      "endLine" : 55,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 46,
      "endLine" : 56,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkConsistentBucketClusteringExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 63,
      "endLine" : 69,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSingleFileSortExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 90,
      "endLine" : 96,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 78,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 49,
      "endLine" : 59,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 177,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 205,
      "endLine" : 211,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark30HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 137,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 72,
      "endLine" : 80,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 76,
      "endLine" : 84,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/HeapDecimalVector.java",
        "extension" : "java",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 28,
      "endLine" : 37,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 516,
      "endLine" : 522,
      "cleanedStartLine" : 348,
      "cleanedEndLine" : 354
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 562,
      "endLine" : 568,
      "cleanedStartLine" : 387,
      "cleanedEndLine" : 393
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 287,
      "endLine" : 293,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 174,
      "endLine" : 182,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 53
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 331,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 263,
      "startLine" : 256,
      "endLine" : 265,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 270,
      "endLine" : 279,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 167
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 212,
      "endLine" : 223,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 75,
      "endLine" : 81,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 98,
      "endLine" : 104,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 77,
      "endLine" : 83,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkInsertPreppedCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkInsertPreppedDeltaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 638,
      "endLine" : 644,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 345
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 656,
      "endLine" : 662,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/MultipleSparkJobExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 358,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 308,
      "endLine" : 314,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 143
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringOperator.java",
        "extension" : "java",
        "linesOfCode" : 303,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 199,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 109,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 287,
      "endLine" : 293,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandle.java",
        "extension" : "java",
        "linesOfCode" : 134,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 71,
      "endLine" : 94,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandle.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 75,
      "endLine" : 98,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 175,
      "endLine" : 181,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 636,
      "endLine" : 642,
      "cleanedStartLine" : 338,
      "cleanedEndLine" : 344
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 656,
      "endLine" : 662,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 180,
      "endLine" : 186,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 186,
      "endLine" : 193,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 150,
      "endLine" : 157,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 348,
      "endLine" : 354,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 450,
      "endLine" : 456,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 267
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/BindVisitor.java",
        "extension" : "java",
        "linesOfCode" : 135,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 132,
      "endLine" : 141,
      "cleanedStartLine" : 66,
      "cleanedEndLine" : 72
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/PartialBindVisitor.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 80,
      "endLine" : 89,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkDeleteCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkDeleteDeltaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 24,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 37,
      "endLine" : 45,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 212,
      "endLine" : 223,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 122
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 247,
      "endLine" : 258,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 194,
      "endLine" : 205,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 233,
      "endLine" : 244,
      "cleanedStartLine" : 134,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 110,
      "endLine" : 117,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 116,
      "endLine" : 123,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 16,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ConfigUtils.java",
        "extension" : "java",
        "linesOfCode" : 356,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 216,
      "endLine" : 225,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/ConfigUtils.java",
        "extension" : "java",
        "linesOfCode" : 356,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 253,
      "startLine" : 237,
      "endLine" : 246,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 88
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 116,
      "endLine" : 123,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieTTLJob.java",
        "extension" : "java",
        "linesOfCode" : 88,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 99,
      "endLine" : 106,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-aws" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 303,
      "endLine" : 311,
      "cleanedStartLine" : 179,
      "cleanedEndLine" : 185
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/datadog/DatadogReporter.java",
        "extension" : "java",
        "linesOfCode" : 127,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 86,
      "startLine" : 109,
      "endLine" : 117,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 285,
      "endLine" : 291,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 179
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 309,
      "endLine" : 315,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 200
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 826,
      "endLine" : 833,
      "cleanedStartLine" : 433,
      "cleanedEndLine" : 439
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieBaseFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 214,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 238,
      "endLine" : 245,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 697,
      "endLine" : 703,
      "cleanedStartLine" : 370,
      "cleanedEndLine" : 376
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 717,
      "endLine" : 723,
      "cleanedStartLine" : 388,
      "cleanedEndLine" : 394
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 41,
      "endLine" : 47,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 41,
      "endLine" : 47,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 411,
      "endLine" : 423,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 460,
      "endLine" : 472,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 239
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieColumnRangeMetadata.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 47,
      "endLine" : 53,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieColumnRangeMetadata.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 137,
      "endLine" : 143,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 66,
      "endLine" : 72,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 177,
      "endLine" : 183,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 411,
      "endLine" : 423,
      "cleanedStartLine" : 196,
      "cleanedEndLine" : 202
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 644,
      "endLine" : 655,
      "cleanedStartLine" : 342,
      "cleanedEndLine" : 348
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 101,
      "endLine" : 107,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 75,
      "endLine" : 81,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 190,
      "endLine" : 196,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkUpsertPreppedCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/deltacommit/SparkUpsertPreppedDeltaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 11,
      "startLine" : 36,
      "endLine" : 44,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 79,
      "endLine" : 87,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 85,
      "endLine" : 93,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 287,
      "endLine" : 293,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 331,
      "endLine" : 339,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 348,
      "endLine" : 354,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 210
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 460,
      "endLine" : 466,
      "cleanedStartLine" : 265,
      "cleanedEndLine" : 271
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 72,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/UpgradeOrDowngradeCommand.java",
        "extension" : "java",
        "linesOfCode" : 70,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 67,
      "endLine" : 74,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 176,
      "endLine" : 182,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 10,
      "endLine" : 16,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 190,
      "endLine" : 196,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 105
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 36,
      "endLine" : 43,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 35,
      "endLine" : 42,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 189,
      "endLine" : 195,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 275,
      "endLine" : 283,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 310,
      "endLine" : 318,
      "cleanedStartLine" : 193,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 187,
      "endLine" : 193,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/DedupeSparkJob.scala",
        "extension" : "scala",
        "linesOfCode" : 167,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 130,
      "endLine" : 137,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/DedupeSparkJob.scala",
        "extension" : "scala",
        "linesOfCode" : 167,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 154,
      "endLine" : 161,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 82
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/common/model/HoodieSparkRecord.java",
        "extension" : "java",
        "linesOfCode" : 333,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 256,
      "endLine" : 262,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 120
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieAvroRecord.java",
        "extension" : "java",
        "linesOfCode" : 172,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 120,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 93
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 105,
      "endLine" : 113,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 105,
      "endLine" : 113,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/HoodieMetaserver.java",
        "extension" : "java",
        "linesOfCode" : 88,
        "components" : [ "primary::hudi-platform-service" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 64,
      "endLine" : 72,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/java/org/apache/hudi/metaserver/HoodieMetaserver.java",
        "extension" : "java",
        "linesOfCode" : 88,
        "components" : [ "primary::hudi-platform-service" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 97,
      "endLine" : 104,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 83,
      "endLine" : 91,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1105,
      "endLine" : 1111,
      "cleanedStartLine" : 952,
      "cleanedEndLine" : 958
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1336,
      "endLine" : 1342,
      "cleanedStartLine" : 1181,
      "cleanedEndLine" : 1187
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 185,
      "endLine" : 191,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 75
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 53,
      "endLine" : 61,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 81,
      "endLine" : 89,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 80
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 428,
      "endLine" : 434,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 291,
      "endLine" : 297,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 243,
      "endLine" : 249,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 187,
      "endLine" : 193,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244.yml",
        "extension" : "yml",
        "linesOfCode" : 287,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 287,
      "startLine" : 291,
      "endLine" : 297,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 255
    }, {
      "file" : {
        "relativePath" : "docker/compose/docker-compose_hadoop284_hive233_spark244_mac_aarch64.yml",
        "extension" : "yml",
        "linesOfCode" : 222,
        "components" : [ "primary::docker" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 222,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 148,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/AutoRecordGenWrapperAvroKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 86,
      "endLine" : 96,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/AutoRecordGenWrapperKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 110,
      "endLine" : 120,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ArchiveCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 43,
      "endLine" : 53,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 49,
      "endLine" : 59,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 289,
      "endLine" : 295,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 321,
      "endLine" : 327,
      "cleanedStartLine" : 202,
      "cleanedEndLine" : 208
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 232,
      "endLine" : 238,
      "cleanedStartLine" : 209,
      "cleanedEndLine" : 215
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 198,
      "endLine" : 204,
      "cleanedStartLine" : 175,
      "cleanedEndLine" : 181
    }, {
      "file" : {
        "relativePath" : "azure-pipelines-20230430.yml",
        "extension" : "yml",
        "linesOfCode" : 329,
        "components" : [ "primary::ROOT" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 329,
      "startLine" : 257,
      "endLine" : 263,
      "cleanedStartLine" : 234,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 655,
      "endLine" : 661,
      "cleanedStartLine" : 353,
      "cleanedEndLine" : 359
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 639,
      "endLine" : 645,
      "cleanedStartLine" : 340,
      "cleanedEndLine" : 346
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_4Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 202,
      "endLine" : 209,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 113
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark31HoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 73,
      "endLine" : 81,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/java/org/apache/spark/sql/execution/datasources/parquet/Spark32PlusHoodieVectorizedParquetRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 76,
      "endLine" : 84,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/Spark30ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 236,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 93,
      "endLine" : 101,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/Spark31ResolveHudiAlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 177,
      "startLine" : 93,
      "endLine" : 101,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 48
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 17,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 10,
      "endLine" : 16,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 638,
      "endLine" : 644,
      "cleanedStartLine" : 339,
      "cleanedEndLine" : 345
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 657,
      "endLine" : 663,
      "cleanedStartLine" : 354,
      "cleanedEndLine" : 360
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 102
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 204,
      "endLine" : 210,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 114
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 178,
      "endLine" : 183,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 342,
      "endLine" : 347,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 86,
      "endLine" : 96,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 44,
      "endLine" : 54,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 466,
      "endLine" : 472,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 416
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 665,
      "endLine" : 671,
      "cleanedStartLine" : 584,
      "cleanedEndLine" : 589
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 265,
      "endLine" : 272,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 292,
      "endLine" : 306,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 158,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 178,
      "endLine" : 185,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 197,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 248,
      "endLine" : 255,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/InitMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 77,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/RecordIterators.java",
        "extension" : "java",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RestoresCommand.java",
        "extension" : "java",
        "linesOfCode" : 127,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 74,
      "endLine" : 80,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/RollbacksCommand.java",
        "extension" : "java",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 57,
      "endLine" : 62,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ArchiveCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 45,
      "endLine" : 53,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 857,
      "endLine" : 862,
      "cleanedStartLine" : 483,
      "cleanedEndLine" : 488
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3104,
      "endLine" : 3109,
      "cleanedStartLine" : 1697,
      "cleanedEndLine" : 1702
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 540,
      "endLine" : 546,
      "cleanedStartLine" : 371,
      "cleanedEndLine" : 376
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 630,
      "endLine" : 636,
      "cleanedStartLine" : 447,
      "cleanedEndLine" : 452
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableColumnStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 56,
      "endLine" : 65,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTablePartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 137,
      "endLine" : 142,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 144,
      "endLine" : 149,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 136,
      "endLine" : 141,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 136,
      "endLine" : 141,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/RowDataToAvroConverters.java",
        "extension" : "java",
        "linesOfCode" : 284,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 229,
      "startLine" : 164,
      "endLine" : 170,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/util/RowDataToAvroConverters.java",
        "extension" : "java",
        "linesOfCode" : 284,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 229,
      "startLine" : 191,
      "endLine" : 197,
      "cleanedStartLine" : 100,
      "cleanedEndLine" : 105
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/FlinkClusteringConfig.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 156,
      "endLine" : 162,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/FlinkCompactionConfig.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 156,
      "endLine" : 162,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 86,
      "endLine" : 96,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 44,
      "endLine" : 54,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 260,
      "endLine" : 265,
      "cleanedStartLine" : 153,
      "cleanedEndLine" : 158
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 295,
      "endLine" : 300,
      "cleanedStartLine" : 185,
      "cleanedEndLine" : 190
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/metadata/FlinkHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 131,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 184,
      "endLine" : 191,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/metadata/JavaHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 115,
      "endLine" : 122,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/Predicates.java",
        "extension" : "java",
        "linesOfCode" : 311,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 221,
      "startLine" : 303,
      "endLine" : 312,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/Predicates.java",
        "extension" : "java",
        "linesOfCode" : 311,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 221,
      "startLine" : 332,
      "endLine" : 341,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/Predicates.java",
        "extension" : "java",
        "linesOfCode" : 311,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 221,
      "startLine" : 303,
      "endLine" : 312,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 161
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/Predicates.java",
        "extension" : "java",
        "linesOfCode" : 311,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 221,
      "startLine" : 361,
      "endLine" : 370,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 225,
      "endLine" : 230,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 98
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 515,
      "endLine" : 520,
      "cleanedStartLine" : 264,
      "cleanedEndLine" : 269
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/ExpressionEvaluators.java",
        "extension" : "java",
        "linesOfCode" : 412,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 234,
      "endLine" : 239,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/ExpressionEvaluators.java",
        "extension" : "java",
        "linesOfCode" : 412,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 305,
      "startLine" : 258,
      "endLine" : 263,
      "cleanedStartLine" : 116,
      "cleanedEndLine" : 121
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowTablePropertiesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/MultipleSparkJobExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 358,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 153,
      "endLine" : 158,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSortAndSizeExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 82,
      "endLine" : 87,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/HoodieMultipleBaseFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 217,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 102,
      "endLine" : 107,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 228,
      "endLine" : 234,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 408,
      "endLine" : 414,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 137,
      "endLine" : 142,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RDDCustomColumnsSortPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 73,
      "endLine" : 80,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/RowCustomColumnsSortPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 31,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 17,
      "startLine" : 57,
      "endLine" : 64,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkConcatAndReplaceHandle.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 52,
      "endLine" : 62,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkConcatHandle.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 51,
      "endLine" : 61,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/HotSpotMemoryLayoutSpecification64bitCompressed.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/OpenJ9MemoryLayoutSpecification64bitCompressed.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/InitMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 324,
      "endLine" : 331,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 163
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 343,
      "endLine" : 350,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 174
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/execution/HoodieLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 78,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 51,
      "endLine" : 56,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 39,
      "endLine" : 44,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionOperation.avsc",
        "extension" : "avsc",
        "linesOfCode" : 101,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 81,
      "endLine" : 87,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 366,
      "endLine" : 374,
      "cleanedStartLine" : 178,
      "cleanedEndLine" : 183
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 460,
      "endLine" : 468,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala",
        "extension" : "scala",
        "linesOfCode" : 396,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 292,
      "endLine" : 297,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala",
        "extension" : "scala",
        "linesOfCode" : 396,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 409,
      "endLine" : 414,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala",
        "extension" : "scala",
        "linesOfCode" : 396,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 292,
      "endLine" : 297,
      "cleanedStartLine" : 162,
      "cleanedEndLine" : 167
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala",
        "extension" : "scala",
        "linesOfCode" : 396,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 437,
      "endLine" : 442,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 277
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/MultipleSparkJobExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 358,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 260,
      "startLine" : 176,
      "endLine" : 181,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSortAndSizeExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 82,
      "endLine" : 87,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 273,
      "endLine" : 278,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 261,
      "endLine" : 266,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 704,
      "endLine" : 709,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 765,
      "endLine" : 770,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CommitsCompareProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitExtraMetadataProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 218,
      "endLine" : 223,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowFsPathDetailProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 47,
      "endLine" : 56,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowInvalidParquetProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieAvroPayload.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 53,
      "endLine" : 62,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/OverwriteWithLatestAvroPayload.java",
        "extension" : "java",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 59,
      "endLine" : 69,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieTableServiceClient.java",
        "extension" : "java",
        "linesOfCode" : 800,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 604,
      "startLine" : 530,
      "endLine" : 536,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 240
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkTableServiceClient.java",
        "extension" : "java",
        "linesOfCode" : 174,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 146,
      "endLine" : 153,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 273,
      "endLine" : 278,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieInternalProxyIndex.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 61,
      "endLine" : 68,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkMetadataTableRecordIndex.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 73,
      "startLine" : 140,
      "endLine" : 147,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 147,
      "endLine" : 154,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 219,
      "endLine" : 226,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 194,
      "endLine" : 201,
      "cleanedStartLine" : 118,
      "cleanedEndLine" : 123
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieIndexer.java",
        "extension" : "java",
        "linesOfCode" : 267,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 196,
      "endLine" : 203,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 220,
      "endLine" : 226,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 705,
      "endLine" : 710,
      "cleanedStartLine" : 381,
      "cleanedEndLine" : 386
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 765,
      "endLine" : 770,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/InstantRange.java",
        "extension" : "java",
        "linesOfCode" : 184,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/InstantRange.java",
        "extension" : "java",
        "linesOfCode" : 184,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 136,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 293,
      "endLine" : 299,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 370,
      "endLine" : 376,
      "cleanedStartLine" : 218,
      "cleanedEndLine" : 223
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 278,
      "endLine" : 283,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 857,
      "endLine" : 862,
      "cleanedStartLine" : 483,
      "cleanedEndLine" : 488
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3110,
      "endLine" : 3115,
      "cleanedStartLine" : 1699,
      "cleanedEndLine" : 1704
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark30NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 166,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 134,
      "startLine" : 43,
      "endLine" : 50,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/Spark32NestedSchemaPruning.scala",
        "extension" : "scala",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 45,
      "endLine" : 52,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 343,
      "endLine" : 350,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 324,
      "endLine" : 331,
      "cleanedStartLine" : 158,
      "cleanedEndLine" : 163
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/OrcBootstrapMetadataHandler.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 186,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 191,
      "endLine" : 196,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/resources/mybatis/TimelineMapper.xml",
        "extension" : "xml",
        "linesOfCode" : 120,
        "components" : [ "primary::hudi-platform-service" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 124,
      "endLine" : 129,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-platform-service/hudi-metaserver/hudi-metaserver-server/src/main/resources/mybatis/TimelineMapper.xml",
        "extension" : "xml",
        "linesOfCode" : 120,
        "components" : [ "primary::hudi-platform-service" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 133,
      "endLine" : 138,
      "cleanedStartLine" : 85,
      "cleanedEndLine" : 90
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ExportInstantsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 177,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 52,
      "endLine" : 61,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 134,
      "endLine" : 139,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowColumnStatsOverlapProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ValidateMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 50,
      "endLine" : 59,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringCommitEvent.java",
        "extension" : "java",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 67,
      "endLine" : 76,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionCommitEvent.java",
        "extension" : "java",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 84,
      "endLine" : 93,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringGroup.avsc",
        "extension" : "avsc",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 228,
      "endLine" : 234,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 273,
      "endLine" : 278,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 118,
      "endLine" : 123,
      "cleanedStartLine" : 103,
      "cleanedEndLine" : 108
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 345,
      "endLine" : 351,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 314
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 415
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/BaseFlinkCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 142,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 81,
      "endLine" : 86,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToInstantTimeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 293,
      "endLine" : 299,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 360,
      "endLine" : 366,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieBucketIndex.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 79,
      "endLine" : 88,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/simple/HoodieSimpleIndex.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 69,
      "endLine" : 78,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/utils/SparkSqlUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 231,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 490,
      "endLine" : 495,
      "cleanedStartLine" : 165,
      "cleanedEndLine" : 170
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/scala/org/apache/hudi/integ/testsuite/utils/SparkSqlUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 231,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 186,
      "startLine" : 520,
      "endLine" : 525,
      "cleanedStartLine" : 181,
      "cleanedEndLine" : 186
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 258,
      "endLine" : 265,
      "cleanedStartLine" : 48,
      "cleanedEndLine" : 53
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 517,
      "endLine" : 524,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 229
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 702,
      "endLine" : 707,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 384
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 764,
      "endLine" : 769,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 186,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieConsistentBucketLayout.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 49,
      "endLine" : 64,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/storage/HoodieSimpleBucketLayout.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 49,
      "endLine" : 61,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 265,
      "endLine" : 272,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 302,
      "endLine" : 316,
      "cleanedStartLine" : 176,
      "cleanedEndLine" : 181
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 32,
      "endLine" : 38,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 32,
      "endLine" : 38,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 40,
      "endLine" : 45,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/CopyOnWriteRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatReader.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 52,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatReverseReader.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 57,
      "endLine" : 62,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 297,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 235,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroSerializer.scala",
        "extension" : "scala",
        "linesOfCode" : 296,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 234,
      "startLine" : 50,
      "endLine" : 56,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 859,
      "endLine" : 864,
      "cleanedStartLine" : 484,
      "cleanedEndLine" : 489
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3110,
      "endLine" : 3115,
      "cleanedStartLine" : 1699,
      "cleanedEndLine" : 1704
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeAndReplaceHandle.java",
        "extension" : "java",
        "linesOfCode" : 134,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 90,
      "startLine" : 105,
      "endLine" : 112,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkMergeHandle.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 117,
      "endLine" : 124,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieMergeHelper.java",
        "extension" : "java",
        "linesOfCode" : 165,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/HotSpotMemoryLayoutSpecification32bit.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/OpenJ9MemoryLayoutSpecification32bit.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3104,
      "endLine" : 3109,
      "cleanedStartLine" : 1697,
      "cleanedEndLine" : 1702
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 859,
      "endLine" : 864,
      "cleanedStartLine" : 484,
      "cleanedEndLine" : 489
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/ListBasedHoodieBloomIndexHelper.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/bloom/SparkHoodieBloomIndexHelper.java",
        "extension" : "java",
        "linesOfCode" : 190,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 81,
      "endLine" : 88,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowColumnStatsOverlapProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTablePartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/config/HoodieFunctionalIndexConfig.java",
        "extension" : "java",
        "linesOfCode" : 220,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 156,
      "startLine" : 111,
      "endLine" : 118,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableConfig.java",
        "extension" : "java",
        "linesOfCode" : 613,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 473,
      "startLine" : 429,
      "endLine" : 436,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 278,
      "endLine" : 283,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 282,
      "endLine" : 287,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
        "extension" : "java",
        "linesOfCode" : 584,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 248,
      "endLine" : 257,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/bootstrap/index/HFileBootstrapIndex.java",
        "extension" : "java",
        "linesOfCode" : 584,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 427,
      "startLine" : 443,
      "endLine" : 453,
      "cleanedStartLine" : 214,
      "cleanedEndLine" : 219
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 228,
      "endLine" : 234,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 220,
      "endLine" : 226,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/PartitionPathRepartitionAndSortPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 55,
      "endLine" : 62,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/bulkinsert/PartitionPathRepartitionPartitioner.java",
        "extension" : "java",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 54,
      "endLine" : 61,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 158,
      "endLine" : 163,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 57,
      "endLine" : 62,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCleanerPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 96,
      "startLine" : 77,
      "endLine" : 82,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 704,
      "endLine" : 709,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 764,
      "endLine" : 769,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaBulkInsertHelper.java",
        "extension" : "java",
        "linesOfCode" : 88,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 95,
      "endLine" : 100,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/SparkBulkInsertHelper.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 107,
      "endLine" : 112,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 282,
      "endLine" : 287,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_0Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 75,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 99,
      "endLine" : 109,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 100,
      "endLine" : 110,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 136,
      "endLine" : 141,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CommitsCompareProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 46,
      "endLine" : 55,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 38,
      "endLine" : 43,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/FlinkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 272,
      "endLine" : 280,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 600,
      "endLine" : 609,
      "cleanedStartLine" : 301,
      "cleanedEndLine" : 306
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "packaging/bundle-validation/conf/hive-site.hive2.xml",
        "extension" : "xml",
        "linesOfCode" : 36,
        "components" : [ "primary::packaging" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 43,
      "endLine" : 49,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "packaging/bundle-validation/conf/hive-site.xml",
        "extension" : "xml",
        "linesOfCode" : 36,
        "components" : [ "primary::packaging" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 860,
      "endLine" : 865,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3110,
      "endLine" : 3115,
      "cleanedStartLine" : 1699,
      "cleanedEndLine" : 1704
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 107,
      "endLine" : 112,
      "cleanedStartLine" : 83,
      "cleanedEndLine" : 88
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 96
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ArchiveCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/SparkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieHFileDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 194,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 87,
      "endLine" : 92,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieParquetDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 68,
      "endLine" : 73,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 98,
      "endLine" : 103,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 158,
      "endLine" : 163,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bucket/HoodieBucketIndex.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 87,
      "endLine" : 94,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/index/state/FlinkInMemoryStateIndex.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 74,
      "endLine" : 84,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 62,
      "endLine" : 72,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieClusteringJob.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 179,
      "startLine" : 182,
      "endLine" : 189,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieIndexer.java",
        "extension" : "java",
        "linesOfCode" : 267,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 196,
      "endLine" : 203,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 345,
      "endLine" : 351,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 314
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 415
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-sync/hudi-adb-sync/src/main/java/org/apache/hudi/sync/adb/HoodieAdbJdbcClient.java",
        "extension" : "java",
        "linesOfCode" : 413,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 494,
      "endLine" : 500,
      "cleanedStartLine" : 297,
      "cleanedEndLine" : 302
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/JDBCExecutor.java",
        "extension" : "java",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 110,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 109
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 47,
      "endLine" : 55,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableColumnStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 56,
      "endLine" : 65,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/InitMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 49,
      "endLine" : 58,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 607,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 455,
      "startLine" : 88,
      "endLine" : 93,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 155,
      "endLine" : 160,
      "cleanedStartLine" : 19,
      "cleanedEndLine" : 24
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 26,
      "endLine" : 31,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 25,
      "endLine" : 30,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 466,
      "endLine" : 472,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 416
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 665,
      "endLine" : 671,
      "cleanedStartLine" : 584,
      "cleanedEndLine" : 589
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 127,
      "endLine" : 132,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 158,
      "endLine" : 163,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 883,
      "endLine" : 892,
      "cleanedStartLine" : 454,
      "cleanedEndLine" : 459
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/KeySpec.java",
        "extension" : "java",
        "linesOfCode" : 12,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 39,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 376,
      "endLine" : 383,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 1271,
      "endLine" : 1278,
      "cleanedStartLine" : 777,
      "cleanedEndLine" : 782
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 761,
      "endLine" : 766,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 426
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 705,
      "endLine" : 710,
      "cleanedStartLine" : 381,
      "cleanedEndLine" : 386
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/PartitionAwareClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 134,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 95,
      "startLine" : 122,
      "endLine" : 129,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/clustering/plan/strategy/FlinkSizeBasedClusteringPlanStrategyRecently.java",
        "extension" : "java",
        "linesOfCode" : 89,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 96,
      "endLine" : 101,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 65,
      "endLine" : 70,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ValidateMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 50,
      "endLine" : 59,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 168
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark30AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/hudi/command/Spark31AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 258,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 191,
      "startLine" : 96,
      "endLine" : 103,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 35,
      "endLine" : 42,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 169,
      "endLine" : 175,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 31,
      "endLine" : 37,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTablePartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ValidateMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 50,
      "endLine" : 59,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieMultiTableStreamer.java",
        "extension" : "java",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 422,
      "endLine" : 428,
      "cleanedStartLine" : 258,
      "cleanedEndLine" : 263
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 410,
      "endLine" : 416,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 212
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 859,
      "endLine" : 864,
      "cleanedStartLine" : 484,
      "cleanedEndLine" : 489
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3106,
      "endLine" : 3111,
      "cleanedStartLine" : 1698,
      "cleanedEndLine" : 1703
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 293,
      "endLine" : 299,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 381,
      "endLine" : 387,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 285,
      "endLine" : 291,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 471,
      "endLine" : 477,
      "cleanedStartLine" : 212,
      "cleanedEndLine" : 217
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 37,
      "endLine" : 44,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/keygen/CustomAvroKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 89,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 103,
      "endLine" : 111,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/keygen/CustomKeyGenerator.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 134,
      "endLine" : 142,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 261,
      "endLine" : 266,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 299,
      "endLine" : 304,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/restore/BaseRestoreActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 117,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/RestorePlanActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 58,
      "endLine" : 63,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/RecordIterators.java",
        "extension" : "java",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/PartitionPathEncodeUtils.java",
        "extension" : "java",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 104,
      "endLine" : 112,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/FilePathUtils.java",
        "extension" : "java",
        "linesOfCode" : 314,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 236,
      "startLine" : 244,
      "endLine" : 252,
      "cleanedStartLine" : 111,
      "cleanedEndLine" : 116
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/scala/org/apache/hudi/HoodieDatasetBulkInsertHelper.scala",
        "extension" : "scala",
        "linesOfCode" : 190,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 234,
      "endLine" : 239,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 427,
      "endLine" : 432,
      "cleanedStartLine" : 220,
      "cleanedEndLine" : 225
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 542,
      "endLine" : 547,
      "cleanedStartLine" : 302,
      "cleanedEndLine" : 307
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatReader.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 115,
      "endLine" : 122,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatReverseReader.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 132,
      "endLine" : 139,
      "cleanedStartLine" : 70,
      "cleanedEndLine" : 75
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/HotSpotMemoryLayoutSpecification64bitCompressed.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/OpenJ9MemoryLayoutSpecification32bit.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 186,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactionAdminTool.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieWithTimelineServer.java",
        "extension" : "java",
        "linesOfCode" : 89,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 74,
      "endLine" : 79,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/HoodieFlinkClusteringJob.java",
        "extension" : "java",
        "linesOfCode" : 231,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 220,
      "endLine" : 228,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/HoodieFlinkCompactor.java",
        "extension" : "java",
        "linesOfCode" : 209,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 208,
      "endLine" : 216,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 404,
      "endLine" : 409,
      "cleanedStartLine" : 189,
      "cleanedEndLine" : 194
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/mor/MergeOnReadInputFormat.java",
        "extension" : "java",
        "linesOfCode" : 707,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 534,
      "startLine" : 453,
      "endLine" : 458,
      "cleanedStartLine" : 226,
      "cleanedEndLine" : 231
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowTablePropertiesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 40,
      "endLine" : 48,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 702,
      "endLine" : 707,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 384
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 761,
      "endLine" : 766,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 426
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 337,
      "endLine" : 342,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 266
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 346,
      "endLine" : 351,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 186,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 192,
      "endLine" : 197,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/FlinkClusteringConfig.java",
        "extension" : "java",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 182,
      "endLine" : 187,
      "cleanedStartLine" : 91,
      "cleanedEndLine" : 96
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/FlinkCompactionConfig.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 183,
      "endLine" : 188,
      "cleanedStartLine" : 97,
      "cleanedEndLine" : 102
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 618,
      "endLine" : 627,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 271,
      "endLine" : 280,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/execution/JavaLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/ParquetBootstrapMetadataHandler.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 106,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/BaseFlinkCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 142,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 124,
      "endLine" : 131,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 189,
      "endLine" : 196,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java",
        "extension" : "java",
        "linesOfCode" : 252,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 174,
      "startLine" : 86,
      "endLine" : 91,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/StatsCommand.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 261,
      "endLine" : 266,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 87,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 763,
      "endLine" : 768,
      "cleanedStartLine" : 422,
      "cleanedEndLine" : 427
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 705,
      "endLine" : 710,
      "cleanedStartLine" : 381,
      "cleanedEndLine" : 386
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 90,
      "endLine" : 97,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 169,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 163,
      "endLine" : 170,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaWriteClient.java",
        "extension" : "java",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 211,
      "endLine" : 227,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/SparkRDDWriteClient.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 184,
      "startLine" : 276,
      "endLine" : 292,
      "cleanedStartLine" : 144,
      "cleanedEndLine" : 149
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 237,
      "endLine" : 242,
      "cleanedStartLine" : 108,
      "cleanedEndLine" : 113
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 169,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 212,
      "endLine" : 217,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 272,
      "endLine" : 280,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 618,
      "endLine" : 627,
      "cleanedStartLine" : 305,
      "cleanedEndLine" : 310
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 345,
      "endLine" : 351,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 314
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 415
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/view/AbstractTableFileSystemView.java",
        "extension" : "java",
        "linesOfCode" : 1039,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 809,
      "startLine" : 302,
      "endLine" : 308,
      "cleanedStartLine" : 121,
      "cleanedEndLine" : 126
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieMetadataFileSystemView.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 90,
      "endLine" : 96,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTablePartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ExportInstantsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 177,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 51,
      "endLine" : 60,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/HiveUtil.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 52,
      "endLine" : 58,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/utils/HiveUtil.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 52,
      "startLine" : 87,
      "endLine" : 93,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 466,
      "endLine" : 472,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 416
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 665,
      "endLine" : 671,
      "cleanedStartLine" : 584,
      "cleanedEndLine" : 589
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowColumnStatsOverlapProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactionAdminTool.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 48,
      "endLine" : 53,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/perf/TimelineServerPerf.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 408,
      "endLine" : 414,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-aws/src/main/java/org/apache/hudi/aws/cloudwatch/CloudWatchReporter.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-aws" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 188,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 95
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/metrics/prometheus/PushGatewayReporter.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 107,
      "endLine" : 112,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/JavaExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 106,
      "startLine" : 178,
      "endLine" : 183,
      "cleanedStartLine" : 59,
      "cleanedEndLine" : 64
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringOperator.java",
        "extension" : "java",
        "linesOfCode" : 303,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 199,
      "startLine" : 279,
      "endLine" : 284,
      "cleanedStartLine" : 110,
      "cleanedEndLine" : 115
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableSource.java",
        "extension" : "java",
        "linesOfCode" : 541,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 392,
      "startLine" : 395,
      "endLine" : 401,
      "cleanedStartLine" : 207,
      "cleanedEndLine" : 212
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableSource.java",
        "extension" : "java",
        "linesOfCode" : 541,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 392,
      "startLine" : 450,
      "endLine" : 456,
      "cleanedStartLine" : 252,
      "cleanedEndLine" : 257
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 55,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 42,
      "endLine" : 48,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 293,
      "endLine" : 299,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 382,
      "endLine" : 388,
      "cleanedStartLine" : 228,
      "cleanedEndLine" : 233
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 110,
      "endLine" : 117,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 94,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 116,
      "endLine" : 123,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 86,
      "endLine" : 96,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 43,
      "endLine" : 54,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 76,
      "endLine" : 81,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/ClusteringGroupInfo.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/ClusteringOperation.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 360,
      "endLine" : 367,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 147,
      "endLine" : 154,
      "cleanedStartLine" : 74,
      "cleanedEndLine" : 79
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 220,
      "endLine" : 226,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/SupportsRowLevelUpdateAdapter.java",
        "extension" : "java",
        "linesOfCode" : 15,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 32,
      "endLine" : 43,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/SupportsRowLevelUpdateAdapter.java",
        "extension" : "java",
        "linesOfCode" : 15,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 32,
      "endLine" : 43,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/FlinkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/SparkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 53,
      "endLine" : 58,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 261,
      "endLine" : 266,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 278,
      "endLine" : 283,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 65,
      "endLine" : 70,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 95,
      "endLine" : 100,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CommitsCompareProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 90,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 52,
      "endLine" : 61,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/parquet/ParquetSchemaConverter.java",
        "extension" : "java",
        "linesOfCode" : 572,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 496,
      "startLine" : 143,
      "endLine" : 148,
      "cleanedStartLine" : 63,
      "cleanedEndLine" : 68
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/parquet/ParquetSchemaConverter.java",
        "extension" : "java",
        "linesOfCode" : 572,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 496,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/read/HoodieBaseFileGroupRecordBuffer.java",
        "extension" : "java",
        "linesOfCode" : 214,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 153,
      "startLine" : 110,
      "endLine" : 117,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/collection/CachingIterator.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 32,
      "endLine" : 39,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 83,
      "endLine" : 93,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 61,
      "endLine" : 71,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 40,
      "endLine" : 46,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 248,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 175,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/BaseRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 248,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 175,
      "startLine" : 78,
      "endLine" : 83,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 178,
      "endLine" : 183,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 405,
      "endLine" : 410,
      "cleanedStartLine" : 235,
      "cleanedEndLine" : 240
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 324,
      "endLine" : 331,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 343,
      "endLine" : 350,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 172,
      "endLine" : 181,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 240,
      "endLine" : 249,
      "cleanedStartLine" : 130,
      "cleanedEndLine" : 135
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 337,
      "endLine" : 342,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 266
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 258
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 346,
      "endLine" : 351,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 220,
      "endLine" : 226,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/Predicates.java",
        "extension" : "java",
        "linesOfCode" : 311,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 221,
      "startLine" : 332,
      "endLine" : 341,
      "cleanedStartLine" : 172,
      "cleanedEndLine" : 177
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/Predicates.java",
        "extension" : "java",
        "linesOfCode" : 311,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 221,
      "startLine" : 361,
      "endLine" : 370,
      "cleanedStartLine" : 188,
      "cleanedEndLine" : 193
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieArchivedMetaEntry.avsc",
        "extension" : "avsc",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 118,
      "startLine" : 72,
      "endLine" : 78,
      "cleanedStartLine" : 64,
      "cleanedEndLine" : 69
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 179,
      "endLine" : 185,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/HoodieFlinkWriteClient.java",
        "extension" : "java",
        "linesOfCode" : 367,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 272,
      "endLine" : 279,
      "cleanedStartLine" : 127,
      "cleanedEndLine" : 132
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/client/HoodieJavaWriteClient.java",
        "extension" : "java",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 199,
      "endLine" : 206,
      "cleanedStartLine" : 113,
      "cleanedEndLine" : 118
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 271,
      "endLine" : 276,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/FlinkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/OrcBootstrapMetadataHandler.java",
        "extension" : "java",
        "linesOfCode" : 73,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/clean/CleanPlanV1MigrationHandler.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/clean/CleanPlanV2MigrationHandler.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 20,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 52,
      "endLine" : 58,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 95,
      "endLine" : 101,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 52,
      "endLine" : 58,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 79,
      "startLine" : 132,
      "endLine" : 138,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 49,
      "endLine" : 58,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieMergeHelper.java",
        "extension" : "java",
        "linesOfCode" : 165,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 114,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/FlinkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 172,
      "endLine" : 181,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 265,
      "endLine" : 274,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkWriteHelper.java",
        "extension" : "java",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 88,
      "endLine" : 95,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaWriteHelper.java",
        "extension" : "java",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 55,
      "endLine" : 62,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 859,
      "endLine" : 864,
      "cleanedStartLine" : 484,
      "cleanedEndLine" : 489
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3109,
      "endLine" : 3114,
      "cleanedStartLine" : 1699,
      "cleanedEndLine" : 1704
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/clustering/ClusteringPlanOperator.java",
        "extension" : "java",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 84,
      "endLine" : 92,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/CompactionPlanOperator.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 86,
      "endLine" : 94,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
        "extension" : "java",
        "linesOfCode" : 969,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 702,
      "startLine" : 265,
      "endLine" : 270,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/StreamSync.java",
        "extension" : "java",
        "linesOfCode" : 969,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 702,
      "startLine" : 294,
      "endLine" : 299,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/compaction/CompactionV1MigrationHandler.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/compaction/CompactionV2MigrationHandler.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/StatsCommand.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/StatsCommand.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 109,
      "endLine" : 114,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSingleFileSortExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 55,
      "endLine" : 62,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/client/clustering/run/strategy/SparkSortAndSizeExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 53,
      "endLine" : 60,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/view/AbstractTableFileSystemView.java",
        "extension" : "java",
        "linesOfCode" : 1039,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 809,
      "startLine" : 984,
      "endLine" : 989,
      "cleanedStartLine" : 557,
      "cleanedEndLine" : 562
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/view/AbstractTableFileSystemView.java",
        "extension" : "java",
        "linesOfCode" : 1039,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 809,
      "startLine" : 1017,
      "endLine" : 1022,
      "cleanedStartLine" : 572,
      "cleanedEndLine" : 577
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 102,
      "endLine" : 108,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 92,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 109,
      "endLine" : 115,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
        "extension" : "java",
        "linesOfCode" : 346,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 78,
      "endLine" : 83,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/TimelineCommand.java",
        "extension" : "java",
        "linesOfCode" : 346,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 109,
      "endLine" : 114,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 282,
      "endLine" : 287,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/BaseFlinkCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 142,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 171,
      "endLine" : 177,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BaseSparkCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 303,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 328,
      "endLine" : 334,
      "cleanedStartLine" : 167,
      "cleanedEndLine" : 172
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/SafeParquetRecordReaderWrapper.java",
        "extension" : "java",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 75,
      "endLine" : 82,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/realtime/RealtimeCompactedRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 172,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 116,
      "startLine" : 219,
      "endLine" : 226,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 232,
      "endLine" : 237,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 225,
      "endLine" : 230,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 98,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 86,
      "endLine" : 96,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystExpressionUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 43,
      "endLine" : 54,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 186,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 180,
      "endLine" : 185,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/collection/CachingIterator.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/collection/CachingIterator.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 66,
      "endLine" : 75,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 539,
      "endLine" : 544,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 277
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 225,
      "endLine" : 230,
      "cleanedStartLine" : 93,
      "cleanedEndLine" : 98
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 218,
      "endLine" : 223,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/MetadataConversionUtils.java",
        "extension" : "java",
        "linesOfCode" : 227,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 64,
      "endLine" : 69,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/MetadataConversionUtils.java",
        "extension" : "java",
        "linesOfCode" : 227,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 152,
      "startLine" : 185,
      "endLine" : 190,
      "cleanedStartLine" : 90,
      "cleanedEndLine" : 95
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 56,
      "endLine" : 61,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 172,
      "endLine" : 181,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 254,
      "endLine" : 263,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 141
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/adapter/Spark2Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 138,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 170,
      "endLine" : 177,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/adapter/Spark3_1Adapter.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 100,
      "endLine" : 110,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HMSDDLExecutor.java",
        "extension" : "java",
        "linesOfCode" : 250,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 221,
      "endLine" : 227,
      "cleanedStartLine" : 119,
      "cleanedEndLine" : 124
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/QueryBasedDDLExecutor.java",
        "extension" : "java",
        "linesOfCode" : 174,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 127,
      "endLine" : 133,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/DedupeSparkJob.scala",
        "extension" : "scala",
        "linesOfCode" : 167,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 122,
      "endLine" : 128,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/DedupeSparkJob.scala",
        "extension" : "scala",
        "linesOfCode" : 167,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 146,
      "endLine" : 152,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ExportInstantsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 177,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitExtraMetadataProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 74,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableSource.java",
        "extension" : "java",
        "linesOfCode" : 541,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 392,
      "startLine" : 496,
      "endLine" : 503,
      "cleanedStartLine" : 288,
      "cleanedEndLine" : 293
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/HoodieTableSource.java",
        "extension" : "java",
        "linesOfCode" : 541,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 392,
      "startLine" : 523,
      "endLine" : 530,
      "cleanedStartLine" : 311,
      "cleanedEndLine" : 316
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 64,
      "endLine" : 72,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 54,
      "endLine" : 62,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 77,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 186,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 177,
      "endLine" : 182,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 702,
      "endLine" : 707,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 384
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 763,
      "endLine" : 768,
      "cleanedStartLine" : 422,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3106,
      "endLine" : 3111,
      "cleanedStartLine" : 1698,
      "cleanedEndLine" : 1703
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 861,
      "endLine" : 866,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 228,
      "endLine" : 234,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieAvroDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 257,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 79,
      "endLine" : 84,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/block/HoodieHFileDataBlock.java",
        "extension" : "java",
        "linesOfCode" : 194,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 127,
      "startLine" : 87,
      "endLine" : 92,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ArchiveCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/InitMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalBatchWriteBuilder.java",
        "extension" : "java",
        "linesOfCode" : 35,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 24,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3-common/src/main/java/org/apache/hudi/spark3/internal/HoodieDataSourceInternalTable.java",
        "extension" : "java",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 55,
      "endLine" : 62,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 134,
      "endLine" : 139,
      "cleanedStartLine" : 58,
      "cleanedEndLine" : 63
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 144,
      "endLine" : 149,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/TypeConverters.java",
        "extension" : "java",
        "linesOfCode" : 304,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 112,
      "endLine" : 119,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/TypeConverters.java",
        "extension" : "java",
        "linesOfCode" : 304,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 136,
      "endLine" : 143,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 172,
      "endLine" : 181,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 244,
      "endLine" : 253,
      "cleanedStartLine" : 133,
      "cleanedEndLine" : 138
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/streaming/StructuredStreamingSinkUtil.java",
        "extension" : "java",
        "linesOfCode" : 103,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 107,
      "endLine" : 113,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 228,
      "endLine" : 234,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-aws/src/main/java/org/apache/hudi/aws/sync/AWSGlueCatalogSyncClient.java",
        "extension" : "java",
        "linesOfCode" : 785,
        "components" : [ "primary::hudi-aws" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 591,
      "startLine" : 525,
      "endLine" : 530,
      "cleanedStartLine" : 313,
      "cleanedEndLine" : 318
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-sync-common/src/main/java/org/apache/hudi/sync/common/HoodieMetaSyncOperations.java",
        "extension" : "java",
        "linesOfCode" : 86,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/HoodieSparkParquetReader.java",
        "extension" : "java",
        "linesOfCode" : 113,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 67,
      "startLine" : 148,
      "endLine" : 155,
      "cleanedStartLine" : 62,
      "cleanedEndLine" : 67
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieAvroParquetReader.java",
        "extension" : "java",
        "linesOfCode" : 119,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 108,
      "endLine" : 115,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 317,
      "endLine" : 327,
      "cleanedStartLine" : 195,
      "cleanedEndLine" : 200
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 331,
      "endLine" : 341,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 61,
      "startLine" : 37,
      "endLine" : 44,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/HoodieSpark35CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3109,
      "endLine" : 3114,
      "cleanedStartLine" : 1699,
      "cleanedEndLine" : 1704
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 861,
      "endLine" : 866,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 761,
      "endLine" : 766,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 426
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 704,
      "endLine" : 709,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 385
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 408,
      "endLine" : 414,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 218,
      "endLine" : 223,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/AbstractHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 699,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 540,
      "startLine" : 324,
      "endLine" : 331,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/BaseHoodieLogRecordReader.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 461,
      "startLine" : 343,
      "endLine" : 350,
      "cleanedStartLine" : 169,
      "cleanedEndLine" : 174
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 265,
      "endLine" : 272,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 314,
      "endLine" : 328,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/compact/FlinkCompactionConfig.java",
        "extension" : "java",
        "linesOfCode" : 132,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 112,
      "startLine" : 64,
      "endLine" : 69,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/streamer/FlinkStreamerConfig.java",
        "extension" : "java",
        "linesOfCode" : 378,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 350,
      "startLine" : 254,
      "endLine" : 259,
      "cleanedStartLine" : 147,
      "cleanedEndLine" : 152
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 128,
      "endLine" : 133,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 319,
      "endLine" : 324,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 128,
      "endLine" : 133,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 337,
      "endLine" : 342,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 266
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 128,
      "endLine" : 133,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 346,
      "endLine" : 351,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 128,
      "endLine" : 133,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 117,
      "endLine" : 122,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 205,
      "endLine" : 210,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieAppendHandle.java",
        "extension" : "java",
        "linesOfCode" : 519,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 384,
      "startLine" : 514,
      "endLine" : 522,
      "cleanedStartLine" : 270,
      "cleanedEndLine" : 275
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/io/HoodieMergeHandle.java",
        "extension" : "java",
        "linesOfCode" : 370,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 266,
      "startLine" : 417,
      "endLine" : 425,
      "cleanedStartLine" : 201,
      "cleanedEndLine" : 206
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieRequestedReplaceMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 96,
      "endLine" : 101,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieWithTimelineServer.java",
        "extension" : "java",
        "linesOfCode" : 89,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 74,
      "endLine" : 79,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/perf/TimelineServerPerf.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 198,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 191,
      "cleanedEndLine" : 196
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/RecordIterators.java",
        "extension" : "java",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableColumnStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 56,
      "endLine" : 65,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ValidateMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 50,
      "endLine" : 59,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 278,
      "endLine" : 283,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 271,
      "endLine" : 276,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/MarkersCommand.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 48,
      "endLine" : 54,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 94,
      "startLine" : 151,
      "endLine" : 157,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 271,
      "endLine" : 276,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 288,
      "endLine" : 293,
      "cleanedStartLine" : 163,
      "cleanedEndLine" : 168
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3106,
      "endLine" : 3111,
      "cleanedStartLine" : 1698,
      "cleanedEndLine" : 1703
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 860,
      "endLine" : 865,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 763,
      "endLine" : 768,
      "cleanedStartLine" : 422,
      "cleanedEndLine" : 427
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 706,
      "endLine" : 711,
      "cleanedStartLine" : 381,
      "cleanedEndLine" : 386
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/metadata/JavaHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 46,
      "startLine" : 68,
      "endLine" : 75,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/metadata/SparkHoodieBackedTableMetadataWriter.java",
        "extension" : "java",
        "linesOfCode" : 163,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 105,
      "startLine" : 87,
      "endLine" : 94,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 273,
      "endLine" : 278,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 83,
      "startLine" : 121,
      "endLine" : 128,
      "cleanedStartLine" : 54,
      "cleanedEndLine" : 59
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 169,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 163,
      "endLine" : 170,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/clean/CleanMetadataV1MigrationHandler.java",
        "extension" : "java",
        "linesOfCode" : 69,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/clean/CleanMetadataV2MigrationHandler.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/InitMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 41,
      "endLine" : 50,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowTablePropertiesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/HoodieInternalProxyIndex.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkMetadataTableRecordIndex.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 73,
      "startLine" : 123,
      "endLine" : 136,
      "cleanedStartLine" : 39,
      "cleanedEndLine" : 44
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/lock/LockManager.java",
        "extension" : "java",
        "linesOfCode" : 94,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 86,
      "endLine" : 98,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/TimeGeneratorBase.java",
        "extension" : "java",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 108,
      "endLine" : 116,
      "cleanedStartLine" : 36,
      "cleanedEndLine" : 41
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 265,
      "endLine" : 272,
      "cleanedStartLine" : 150,
      "cleanedEndLine" : 155
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 313,
      "endLine" : 327,
      "cleanedStartLine" : 186,
      "cleanedEndLine" : 191
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 273,
      "endLine" : 278,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 408,
      "endLine" : 414,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 156,
      "endLine" : 162,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 122,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 89,
      "startLine" : 104,
      "endLine" : 110,
      "cleanedStartLine" : 46,
      "cleanedEndLine" : 51
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark31LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 325,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 267,
      "startLine" : 186,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 192,
      "endLine" : 197,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ValidateMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 50,
      "endLine" : 59,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 70,
      "endLine" : 78,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieClusteringStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 33,
      "endLine" : 39,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseWriteHelper.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 64,
      "endLine" : 70,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkWriteHelper.java",
        "extension" : "java",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 78,
      "endLine" : 84,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ExportInstantsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 177,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitWriteStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 46,
      "endLine" : 55,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 860,
      "endLine" : 865,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3109,
      "endLine" : 3114,
      "cleanedStartLine" : 1699,
      "cleanedEndLine" : 1704
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/SupportsRowLevelDeleteAdapter.java",
        "extension" : "java",
        "linesOfCode" : 13,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 29,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/adapter/SupportsRowLevelDeleteAdapter.java",
        "extension" : "java",
        "linesOfCode" : 13,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 6,
      "startLine" : 29,
      "endLine" : 40,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 212,
      "endLine" : 217,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java",
        "extension" : "java",
        "linesOfCode" : 592,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 485,
      "startLine" : 261,
      "endLine" : 266,
      "cleanedStartLine" : 154,
      "cleanedEndLine" : 159
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RunClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 187,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 68,
      "endLine" : 77,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 419,
      "endLine" : 424,
      "cleanedStartLine" : 213,
      "cleanedEndLine" : 218
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 534,
      "endLine" : 539,
      "cleanedStartLine" : 295,
      "cleanedEndLine" : 300
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 326,
      "endLine" : 337,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 344,
      "endLine" : 355,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 218,
      "endLine" : 223,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 220,
      "endLine" : 226,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableColumnStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 56,
      "endLine" : 65,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 41,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 40,
      "endLine" : 45,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/rollback/MergeOnReadRollbackActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 86,
      "endLine" : 95,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 116,
      "endLine" : 125,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 360,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 299,
      "startLine" : 85,
      "endLine" : 90,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatReader.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 80,
      "endLine" : 86,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatReverseReader.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowTablePropertiesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 28,
      "startLine" : 38,
      "endLine" : 47,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/FlinkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/execution/SparkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 47,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 45,
      "endLine" : 50,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/adapter/Utils.java",
        "extension" : "java",
        "linesOfCode" : 124,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 85,
      "startLine" : 56,
      "endLine" : 61,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 6
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/HoodieLogFileCommand.java",
        "extension" : "java",
        "linesOfCode" : 252,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 174,
      "startLine" : 86,
      "endLine" : 91,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-cli/src/main/java/org/apache/hudi/cli/commands/StatsCommand.java",
        "extension" : "java",
        "linesOfCode" : 129,
        "components" : [ "primary::hudi-cli" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 109,
      "endLine" : 114,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 326,
      "endLine" : 337,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 344,
      "endLine" : 355,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 517,
      "endLine" : 524,
      "cleanedStartLine" : 224,
      "cleanedEndLine" : 229
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 33,
      "endLine" : 39,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 38,
      "endLine" : 44,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 228,
      "endLine" : 234,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 218,
      "endLine" : 223,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieCreateRecordUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 222,
      "endLine" : 228,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieCreateRecordUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 260,
      "endLine" : 267,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CommitsCompareProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ExportInstantsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 177,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 63,
      "endLine" : 72,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/HotSpotMemoryLayoutSpecification32bit.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/util/jvm/OpenJ9MemoryLayoutSpecification64bitCompressed.java",
        "extension" : "java",
        "linesOfCode" : 23,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 41,
      "endLine" : 48,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/RecordIterators.java",
        "extension" : "java",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 172,
      "endLine" : 181,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark32LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 383,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 320,
      "startLine" : 244,
      "endLine" : 253,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 706,
      "endLine" : 711,
      "cleanedStartLine" : 381,
      "cleanedEndLine" : 386
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 765,
      "endLine" : 770,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/java/org/apache/hudi/cli/HDFSParquetImporterUtils.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 170,
      "startLine" : 232,
      "endLine" : 239,
      "cleanedStartLine" : 112,
      "cleanedEndLine" : 117
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 217,
      "endLine" : 224,
      "cleanedStartLine" : 94,
      "cleanedEndLine" : 99
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapMappingProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 136,
      "endLine" : 141,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 34,
      "cleanedEndLine" : 39
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 136,
      "endLine" : 141,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/BindVisitor.java",
        "extension" : "java",
        "linesOfCode" : 135,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 101,
      "startLine" : 111,
      "endLine" : 117,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/expression/PartialBindVisitor.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 9
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/DeleteHoodieTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 63,
      "endLine" : 70,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/UpdateHoodieTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 34,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CommitsCompareProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 50,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCommitPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 78,
      "startLine" : 51,
      "endLine" : 60,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 102,
      "endLine" : 108,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/JavaDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 94,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 218,
      "endLine" : 223,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 60,
      "endLine" : 65,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/catalog/HoodieCatalog.scala",
        "extension" : "scala",
        "linesOfCode" : 348,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 274,
      "startLine" : 158,
      "endLine" : 163,
      "cleanedStartLine" : 79,
      "cleanedEndLine" : 84
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3104,
      "endLine" : 3109,
      "cleanedStartLine" : 1697,
      "cleanedEndLine" : 1702
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 860,
      "endLine" : 865,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/MysqlDebeziumSource.java",
        "extension" : "java",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 44,
      "startLine" : 63,
      "endLine" : 69,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/debezium/PostgresDebeziumSource.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 52,
      "endLine" : 59,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 22,
      "endLine" : 28,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieReplaceCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 64,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 53,
      "startLine" : 22,
      "endLine" : 28,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/util/Lazy.java",
        "extension" : "java",
        "linesOfCode" : 37,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 25,
      "startLine" : 47,
      "endLine" : 54,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/util/Transient.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 56,
      "endLine" : 63,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 54,
      "endLine" : 62,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 64,
      "endLine" : 72,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 282,
      "endLine" : 287,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 299,
      "endLine" : 304,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/ColumnStatsIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 285,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 215,
      "startLine" : 95,
      "endLine" : 100,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/FunctionalIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 64,
      "endLine" : 69,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 857,
      "endLine" : 862,
      "cleanedStartLine" : 483,
      "cleanedEndLine" : 488
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3109,
      "endLine" : 3114,
      "cleanedStartLine" : 1699,
      "cleanedEndLine" : 1704
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/FunctionalIndexSupport.scala",
        "extension" : "scala",
        "linesOfCode" : 140,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 98,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 373,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 292,
      "startLine" : 397,
      "endLine" : 402,
      "cleanedStartLine" : 183,
      "cleanedEndLine" : 188
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairMigratePartitionMetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 48,
      "endLine" : 57,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 3104,
      "endLine" : 3109,
      "cleanedStartLine" : 1697,
      "cleanedEndLine" : 1702
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 861,
      "endLine" : 866,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 360,
      "endLine" : 367,
      "cleanedStartLine" : 123,
      "cleanedEndLine" : 128
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 219,
      "endLine" : 226,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 70,
      "endLine" : 75,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark33LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 389,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 324,
      "startLine" : 271,
      "endLine" : 276,
      "cleanedStartLine" : 149,
      "cleanedEndLine" : 154
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 299,
      "endLine" : 304,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/HMSDDLExecutor.java",
        "extension" : "java",
        "linesOfCode" : 250,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 176,
      "startLine" : 189,
      "endLine" : 195,
      "cleanedStartLine" : 92,
      "cleanedEndLine" : 97
    }, {
      "file" : {
        "relativePath" : "hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/ddl/QueryBasedDDLExecutor.java",
        "extension" : "java",
        "linesOfCode" : 174,
        "components" : [ "primary::hudi-sync" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 123,
      "startLine" : 116,
      "endLine" : 122,
      "cleanedStartLine" : 44,
      "cleanedEndLine" : 49
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 857,
      "endLine" : 862,
      "cleanedStartLine" : 483,
      "cleanedEndLine" : 488
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 3106,
      "endLine" : 3111,
      "cleanedStartLine" : 1698,
      "cleanedEndLine" : 1703
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/TimelineUtils.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 376,
      "endLine" : 381,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 189
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/TimelineUtils.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 250,
      "startLine" : 429,
      "endLine" : 434,
      "cleanedStartLine" : 217,
      "cleanedEndLine" : 222
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 408,
      "endLine" : 414,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/ClusteringExecutionStrategy.java",
        "extension" : "java",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 18,
      "startLine" : 59,
      "endLine" : 68,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/strategy/ClusteringPlanStrategy.java",
        "extension" : "java",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 66,
      "startLine" : 172,
      "endLine" : 181,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieDeleteRecordList.avsc",
        "extension" : "avsc",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPartitionInfo.avsc",
        "extension" : "avsc",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 41,
      "endLine" : 46,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 42
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieBootstrapRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 162,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 131,
      "startLine" : 261,
      "endLine" : 266,
      "cleanedStartLine" : 126,
      "cleanedEndLine" : 131
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/MergeOnReadSnapshotRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 76,
      "startLine" : 170,
      "endLine" : 175,
      "cleanedStartLine" : 71,
      "cleanedEndLine" : 76
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 861,
      "endLine" : 866,
      "cleanedStartLine" : 485,
      "cleanedEndLine" : 490
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 3110,
      "endLine" : 3115,
      "cleanedStartLine" : 1699,
      "cleanedEndLine" : 1704
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 192,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 154,
      "startLine" : 178,
      "endLine" : 184,
      "cleanedStartLine" : 145,
      "cleanedEndLine" : 150
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieCompactionStrategy.avsc",
        "extension" : "avsc",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 35,
      "endLine" : 41,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 37
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RollbackToSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 63,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieCDCFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 37,
      "endLine" : 42,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieIncrementalFileIndex.scala",
        "extension" : "scala",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 35,
      "endLine" : 40,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexCommitMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 54,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 44,
      "endLine" : 51,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieIndexPlan.avsc",
        "extension" : "avsc",
        "linesOfCode" : 43,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 33,
      "endLine" : 40,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowClusteringProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 62,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/HoodieDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 97,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 110,
      "endLine" : 117,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/action/commit/FlinkDeleteHelper.java",
        "extension" : "java",
        "linesOfCode" : 92,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 117,
      "endLine" : 124,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 315,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 87,
      "cleanedEndLine" : 92
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 196,
      "endLine" : 202,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlCommon.g4",
        "extension" : "g4",
        "linesOfCode" : 239,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 239,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 34,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 21,
      "startLine" : 46,
      "endLine" : 51,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/UpgradeOrDowngradeProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 79,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 45,
      "endLine" : 54,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 75,
      "endLine" : 80,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.15.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 91,
      "endLine" : 96,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 408,
      "endLine" : 414,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowDataCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 158,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 115,
      "startLine" : 189,
      "endLine" : 195,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/io/storage/row/HoodieRowCreateHandle.java",
        "extension" : "java",
        "linesOfCode" : 197,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 146,
      "startLine" : 259,
      "endLine" : 265,
      "cleanedStartLine" : 131,
      "cleanedEndLine" : 136
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowColumnStatsOverlapProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 73,
      "endLine" : 79,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableColumnStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 125,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 44,
      "endLine" : 50,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowColumnStatsOverlapProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 234,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 182,
      "startLine" : 90,
      "endLine" : 99,
      "cleanedStartLine" : 18,
      "cleanedEndLine" : 23
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowMetadataTableStatsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 42,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 27,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala",
        "extension" : "scala",
        "linesOfCode" : 396,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 409,
      "endLine" : 414,
      "cleanedStartLine" : 249,
      "cleanedEndLine" : 254
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala",
        "extension" : "scala",
        "linesOfCode" : 396,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 437,
      "endLine" : 442,
      "cleanedStartLine" : 272,
      "cleanedEndLine" : 277
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HDFSParquetImporter.java",
        "extension" : "java",
        "linesOfCode" : 224,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 151,
      "startLine" : 279,
      "endLine" : 284,
      "cleanedStartLine" : 137,
      "cleanedEndLine" : 142
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieIndexer.java",
        "extension" : "java",
        "linesOfCode" : 267,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 122,
      "endLine" : 127,
      "cleanedStartLine" : 27,
      "cleanedEndLine" : 32
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 34,
      "endLine" : 42,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 44,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 34,
      "endLine" : 42,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 64,
      "endLine" : 72,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 34,
      "endLine" : 42,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/log/HoodieLogFormatVersion.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 57,
      "startLine" : 54,
      "endLine" : 62,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/model/AbstractHoodieRowData.java",
        "extension" : "java",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/model/HoodieRowDataWithMetaFields.java",
        "extension" : "java",
        "linesOfCode" : 20,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark30LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 319,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 261,
      "startLine" : 186,
      "endLine" : 191,
      "cleanedStartLine" : 98,
      "cleanedEndLine" : 103
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 191,
      "endLine" : 196,
      "cleanedStartLine" : 96,
      "cleanedEndLine" : 101
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/BaseVectorizedColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 221,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 166,
      "startLine" : 128,
      "endLine" : 134,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.18.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/AbstractColumnReader.java",
        "extension" : "java",
        "linesOfCode" : 196,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 141,
      "startLine" : 135,
      "endLine" : 141,
      "cleanedStartLine" : 25,
      "cleanedEndLine" : 30
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/model/AbstractHoodieRowData.java",
        "extension" : "java",
        "linesOfCode" : 116,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 43,
      "endLine" : 48,
      "cleanedStartLine" : 6,
      "cleanedEndLine" : 11
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/client/model/HoodieRowData.java",
        "extension" : "java",
        "linesOfCode" : 20,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 14,
      "startLine" : 33,
      "endLine" : 38,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/action/commit/BaseJavaCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 238,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 160,
      "startLine" : 260,
      "endLine" : 268,
      "cleanedStartLine" : 139,
      "cleanedEndLine" : 144
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/commit/BaseSparkCommitActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 303,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 356,
      "endLine" : 364,
      "cleanedStartLine" : 184,
      "cleanedEndLine" : 189
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/HoodieFileGroupReaderBasedParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 343,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 272,
      "startLine" : 99,
      "endLine" : 104,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 56,
      "endLine" : 61,
      "cleanedStartLine" : 3,
      "cleanedEndLine" : 8
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 319,
      "endLine" : 324,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 346,
      "endLine" : 351,
      "cleanedStartLine" : 269,
      "cleanedEndLine" : 274
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 319,
      "endLine" : 324,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 328,
      "endLine" : 333,
      "cleanedStartLine" : 253,
      "cleanedEndLine" : 258
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 319,
      "endLine" : 324,
      "cleanedStartLine" : 245,
      "cleanedEndLine" : 250
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/avro/HoodieMetadata.avsc",
        "extension" : "avsc",
        "linesOfCode" : 436,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 341,
      "startLine" : 337,
      "endLine" : 342,
      "cleanedStartLine" : 261,
      "cleanedEndLine" : 266
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 704,
      "endLine" : 709,
      "cleanedStartLine" : 380,
      "cleanedEndLine" : 385
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_3ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2351,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1900,
      "startLine" : 763,
      "endLine" : 768,
      "cleanedStartLine" : 422,
      "cleanedEndLine" : 427
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/HoodieSpark30SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/HoodieSpark32SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/resources/ControlMessage.proto",
        "extension" : "proto",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 56,
      "startLine" : 11,
      "endLine" : 16,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTempViewProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 83,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 68,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 408,
      "endLine" : 414,
      "cleanedStartLine" : 166,
      "cleanedEndLine" : 171
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 220,
      "endLine" : 226,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/ClusteringGroupInfo.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieColumnRangeMetadata.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 98,
      "endLine" : 104,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 342,
      "endLine" : 350,
      "cleanedStartLine" : 161,
      "cleanedEndLine" : 166
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/metadata/HoodieBackedTableMetadata.java",
        "extension" : "java",
        "linesOfCode" : 597,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 458,
      "startLine" : 442,
      "endLine" : 450,
      "cleanedStartLine" : 233,
      "cleanedEndLine" : 238
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 65,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 47,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 171,
      "endLine" : 177,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieSparkSqlWriter.scala",
        "extension" : "scala",
        "linesOfCode" : 870,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 691,
      "startLine" : 205,
      "endLine" : 210,
      "cleanedStartLine" : 76,
      "cleanedEndLine" : 81
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecord.java",
        "extension" : "java",
        "linesOfCode" : 269,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 203,
      "startLine" : 278,
      "endLine" : 284,
      "cleanedStartLine" : 114,
      "cleanedEndLine" : 119
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 326,
      "endLine" : 337,
      "cleanedStartLine" : 204,
      "cleanedEndLine" : 209
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 375,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 344,
      "endLine" : 355,
      "cleanedStartLine" : 216,
      "cleanedEndLine" : 221
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/FileSystemRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 88,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 64,
      "startLine" : 107,
      "endLine" : 117,
      "cleanedStartLine" : 51,
      "cleanedEndLine" : 56
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/TimelineRelation.scala",
        "extension" : "scala",
        "linesOfCode" : 76,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 110,
      "endLine" : 120,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowBootstrapPartitionsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 38,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 35,
      "endLine" : 44,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 466,
      "endLine" : 472,
      "cleanedStartLine" : 411,
      "cleanedEndLine" : 416
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 665,
      "endLine" : 671,
      "cleanedStartLine" : 584,
      "cleanedEndLine" : 589
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/SparkMetadataTableRecordIndex.java",
        "extension" : "java",
        "linesOfCode" : 120,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 73,
      "startLine" : 132,
      "endLine" : 141,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/index/hbase/SparkHoodieHBaseIndex.java",
        "extension" : "java",
        "linesOfCode" : 544,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 390,
      "startLine" : 657,
      "endLine" : 672,
      "cleanedStartLine" : 362,
      "cleanedEndLine" : 367
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 422,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 276,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 246,
      "cleanedEndLine" : 251
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/avro/HoodieAvroUtils.java",
        "extension" : "java",
        "linesOfCode" : 982,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 726,
      "startLine" : 501,
      "endLine" : 508,
      "cleanedStartLine" : 194,
      "cleanedEndLine" : 199
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-mr/src/main/java/org/apache/hudi/hadoop/utils/HiveAvroSerializer.java",
        "extension" : "java",
        "linesOfCode" : 324,
        "components" : [ "primary::hudi-hadoop-mr" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 228,
      "startLine" : 390,
      "endLine" : 397,
      "cleanedStartLine" : 208,
      "cleanedEndLine" : 213
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/antlr4/org/apache/hudi/spark/sql/parser/HoodieSqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 36,
      "startLine" : 10,
      "endLine" : 15,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 7,
      "endLine" : 12,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ArchiveCommitsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 49,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 273,
      "endLine" : 278,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 220,
      "endLine" : 226,
      "cleanedStartLine" : 82,
      "cleanedEndLine" : 87
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 705,
      "endLine" : 710,
      "cleanedStartLine" : 381,
      "cleanedEndLine" : 386
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 764,
      "endLine" : 769,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieLogFile.java",
        "extension" : "java",
        "linesOfCode" : 195,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 137,
      "startLine" : 251,
      "endLine" : 257,
      "cleanedStartLine" : 124,
      "cleanedEndLine" : 129
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CleanFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 36,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 23,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark24LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 148,
      "startLine" : 172,
      "endLine" : 181,
      "cleanedStartLine" : 86,
      "cleanedEndLine" : 91
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 266,
      "endLine" : 275,
      "cleanedStartLine" : 146,
      "cleanedEndLine" : 151
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 172,
      "endLine" : 178,
      "cleanedStartLine" : 80,
      "cleanedEndLine" : 85
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/RunLengthDecoder.java",
        "extension" : "java",
        "linesOfCode" : 216,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 199,
      "endLine" : 205,
      "cleanedStartLine" : 99,
      "cleanedEndLine" : 104
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_4ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2353,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 764,
      "endLine" : 769,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 706,
      "endLine" : 711,
      "cleanedStartLine" : 381,
      "cleanedEndLine" : 386
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 245,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 136,
      "endLine" : 142,
      "cleanedStartLine" : 73,
      "cleanedEndLine" : 78
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieIndexer.java",
        "extension" : "java",
        "linesOfCode" : 267,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 183,
      "startLine" : 139,
      "endLine" : 147,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieTTLJob.java",
        "extension" : "java",
        "linesOfCode" : 88,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 59,
      "startLine" : 101,
      "endLine" : 109,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark34LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 399,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 334,
      "startLine" : 299,
      "endLine" : 304,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/TypeConverters.java",
        "extension" : "java",
        "linesOfCode" : 304,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 139,
      "endLine" : 146,
      "cleanedStartLine" : 53,
      "cleanedEndLine" : 58
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/TypeConverters.java",
        "extension" : "java",
        "linesOfCode" : 304,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 214,
      "startLine" : 149,
      "endLine" : 156,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMarkerProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 60,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 39,
      "endLine" : 48,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairCorruptedCleanFilesProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 56,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 38,
      "startLine" : 40,
      "endLine" : 49,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 971,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 971,
      "startLine" : 345,
      "endLine" : 351,
      "cleanedStartLine" : 309,
      "cleanedEndLine" : 314
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 456,
      "endLine" : 462,
      "cleanedStartLine" : 410,
      "cleanedEndLine" : 415
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CopyToTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 80,
      "startLine" : 43,
      "endLine" : 52,
      "cleanedStartLine" : 14,
      "cleanedEndLine" : 19
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairDeduplicateProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 44,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/DeleteRecord.java",
        "extension" : "java",
        "linesOfCode" : 58,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 40,
      "startLine" : 75,
      "endLine" : 84,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordDelegate.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 71,
      "startLine" : 110,
      "endLine" : 119,
      "cleanedStartLine" : 38,
      "cleanedEndLine" : 43
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.3.x/src/main/scala/org/apache/spark/sql/HoodieSpark33CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 54,
      "startLine" : 35,
      "endLine" : 42,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.4.x/src/main/scala/org/apache/spark/sql/HoodieSpark34CatalystPlanUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 87,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 34,
      "endLine" : 41,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 51,
      "endLine" : 59,
      "cleanedStartLine" : 12,
      "cleanedEndLine" : 17
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowSavepointsProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 26,
      "startLine" : 39,
      "endLine" : 47,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/kafka/KafkaConnectControlAgent.java",
        "extension" : "java",
        "linesOfCode" : 149,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 182,
      "endLine" : 187,
      "cleanedStartLine" : 88,
      "cleanedEndLine" : 93
    }, {
      "file" : {
        "relativePath" : "hudi-kafka-connect/src/main/java/org/apache/hudi/connect/transaction/ConnectTransactionCoordinator.java",
        "extension" : "java",
        "linesOfCode" : 347,
        "components" : [ "primary::hudi-kafka-connect" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 275,
      "startLine" : 139,
      "endLine" : 144,
      "cleanedStartLine" : 69,
      "cleanedEndLine" : 74
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.0.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 52,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 95,
      "endLine" : 100,
      "cleanedStartLine" : 26,
      "cleanedEndLine" : 31
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordLocation.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 55,
      "endLine" : 61,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/execution/FlinkLazyInsertIterable.java",
        "extension" : "java",
        "linesOfCode" : 51,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 67,
      "endLine" : 72,
      "cleanedStartLine" : 21,
      "cleanedEndLine" : 26
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/action/bootstrap/ParquetBootstrapMetadataHandler.java",
        "extension" : "java",
        "linesOfCode" : 99,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 106,
      "cleanedStartLine" : 30,
      "cleanedEndLine" : 35
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/RecordIterators.java",
        "extension" : "java",
        "linesOfCode" : 112,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 77,
      "startLine" : 59,
      "endLine" : 64,
      "cleanedStartLine" : 9,
      "cleanedEndLine" : 14
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.16.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 114,
      "endLine" : 119,
      "cleanedStartLine" : 8,
      "cleanedEndLine" : 13
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BaseFile.java",
        "extension" : "java",
        "linesOfCode" : 80,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 99,
      "endLine" : 105,
      "cleanedStartLine" : 40,
      "cleanedEndLine" : 45
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/HoodieStreamer.java",
        "extension" : "java",
        "linesOfCode" : 742,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 581,
      "startLine" : 444,
      "endLine" : 450,
      "cleanedStartLine" : 229,
      "cleanedEndLine" : 234
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.14.x/src/main/java/org/apache/hudi/table/format/cow/vector/reader/ParquetColumnarRowSplitReader.java",
        "extension" : "java",
        "linesOfCode" : 262,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 125,
      "endLine" : 130,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink1.17.x/src/main/java/org/apache/hudi/table/format/cow/ParquetSplitReaderUtil.java",
        "extension" : "java",
        "linesOfCode" : 524,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 410,
      "startLine" : 116,
      "endLine" : 121,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1404,
      "endLine" : 1409,
      "cleanedStartLine" : 1249,
      "cleanedEndLine" : 1254
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/antlr4/imports/SqlBase.g4",
        "extension" : "g4",
        "linesOfCode" : 1760,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 1760,
      "startLine" : 1153,
      "endLine" : 1158,
      "cleanedStartLine" : 1000,
      "cleanedEndLine" : 1005
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 283,
      "endLine" : 288,
      "cleanedStartLine" : 159,
      "cleanedEndLine" : 164
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/Spark35LegacyHoodieParquetFileFormat.scala",
        "extension" : "scala",
        "linesOfCode" : 401,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 335,
      "startLine" : 300,
      "endLine" : 305,
      "cleanedStartLine" : 173,
      "cleanedEndLine" : 178
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 702,
      "endLine" : 707,
      "cleanedStartLine" : 379,
      "cleanedEndLine" : 384
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 765,
      "endLine" : 770,
      "cleanedStartLine" : 423,
      "cleanedEndLine" : 428
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/table/HoodieFlinkCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 326,
      "endLine" : 335,
      "cleanedStartLine" : 107,
      "cleanedEndLine" : 112
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaCopyOnWriteTable.java",
        "extension" : "java",
        "linesOfCode" : 263,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 167,
      "startLine" : 194,
      "endLine" : 203,
      "cleanedStartLine" : 81,
      "cleanedEndLine" : 86
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/HoodieTableMetaClient.java",
        "extension" : "java",
        "linesOfCode" : 976,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 697,
      "startLine" : 776,
      "endLine" : 782,
      "cleanedStartLine" : 314,
      "cleanedEndLine" : 319
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/TableExecutionContext.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 32,
      "startLine" : 69,
      "endLine" : 75,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 27
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/BootstrapFileMapping.java",
        "extension" : "java",
        "linesOfCode" : 74,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 55,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieWriteStat.java",
        "extension" : "java",
        "linesOfCode" : 251,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 181,
      "startLine" : 383,
      "endLine" : 389,
      "cleanedStartLine" : 151,
      "cleanedEndLine" : 156
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_2ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2345,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1895,
      "startLine" : 761,
      "endLine" : 766,
      "cleanedStartLine" : 421,
      "cleanedEndLine" : 426
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.5.x/src/main/scala/org/apache/spark/sql/parser/HoodieSpark3_5ExtendedSqlAstBuilder.scala",
        "extension" : "scala",
        "linesOfCode" : 2354,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 1902,
      "startLine" : 706,
      "endLine" : 711,
      "cleanedStartLine" : 381,
      "cleanedEndLine" : 386
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/index/bloom/BloomIndexFileInfo.java",
        "extension" : "java",
        "linesOfCode" : 59,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 71,
      "endLine" : 77,
      "cleanedStartLine" : 24,
      "cleanedEndLine" : 29
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/versioning/TimelineLayoutVersion.java",
        "extension" : "java",
        "linesOfCode" : 45,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 58,
      "endLine" : 64,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterHoodieTableAddColumnsCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 105,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 112,
      "endLine" : 117,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2plus-common/src/main/scala/org/apache/spark/sql/hudi/command/AlterTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 278,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 208,
      "startLine" : 272,
      "endLine" : 277,
      "cleanedStartLine" : 156,
      "cleanedEndLine" : 161
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark2/src/main/scala/org/apache/spark/sql/HoodieSpark2SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/HoodieSpark31SchemaUtils.scala",
        "extension" : "scala",
        "linesOfCode" : 14,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 7,
      "startLine" : 30,
      "endLine" : 37,
      "cleanedStartLine" : 2,
      "cleanedEndLine" : 7
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/FileSlice.java",
        "extension" : "java",
        "linesOfCode" : 102,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 72,
      "startLine" : 152,
      "endLine" : 158,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.1.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 364,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 303,
      "startLine" : 321,
      "endLine" : 331,
      "cleanedStartLine" : 199,
      "cleanedEndLine" : 204
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark3.2.x/src/main/scala/org/apache/spark/sql/avro/AvroDeserializer.scala",
        "extension" : "scala",
        "linesOfCode" : 377,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 312,
      "startLine" : 331,
      "endLine" : 341,
      "cleanedStartLine" : 205,
      "cleanedEndLine" : 210
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieMetadataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 1158,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 918,
      "startLine" : 367,
      "endLine" : 373,
      "cleanedStartLine" : 132,
      "cleanedEndLine" : 137
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieHBaseAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 517,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 378,
      "startLine" : 202,
      "endLine" : 209,
      "cleanedStartLine" : 77,
      "cleanedEndLine" : 82
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/io/storage/HoodieNativeAvroHFileReader.java",
        "extension" : "java",
        "linesOfCode" : 459,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 336,
      "startLine" : 143,
      "endLine" : 150,
      "cleanedStartLine" : 57,
      "cleanedEndLine" : 62
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 273,
      "endLine" : 278,
      "cleanedStartLine" : 135,
      "cleanedEndLine" : 140
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieRepairTool.java",
        "extension" : "java",
        "linesOfCode" : 338,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 265,
      "startLine" : 218,
      "endLine" : 223,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 49,
      "endLine" : 54,
      "cleanedStartLine" : 29,
      "cleanedEndLine" : 34
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 32,
      "endLine" : 37,
      "cleanedStartLine" : 13,
      "cleanedEndLine" : 18
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 66,
      "endLine" : 71,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/SparkDataSourceContinuousIngestTool.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 70,
      "startLine" : 89,
      "endLine" : 94,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 228,
      "endLine" : 234,
      "cleanedStartLine" : 89,
      "cleanedEndLine" : 94
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 23,
      "endLine" : 28,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-examples/hudi-examples-dbt/models/example/schema.yml",
        "extension" : "yml",
        "linesOfCode" : 82,
        "components" : [ "primary::hudi-examples" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 82,
      "startLine" : 87,
      "endLine" : 92,
      "cleanedStartLine" : 65,
      "cleanedEndLine" : 70
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/table/timeline/HoodieInstant.java",
        "extension" : "java",
        "linesOfCode" : 256,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 200,
      "startLine" : 311,
      "endLine" : 317,
      "cleanedStartLine" : 177,
      "cleanedEndLine" : 182
    }, {
      "file" : {
        "relativePath" : "hudi-integ-test/src/main/java/org/apache/hudi/integ/testsuite/dag/nodes/DagNode.java",
        "extension" : "java",
        "linesOfCode" : 95,
        "components" : [ "primary::hudi-integ-test" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 63,
      "startLine" : 121,
      "endLine" : 127,
      "cleanedStartLine" : 50,
      "cleanedEndLine" : 55
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 141,
      "endLine" : 146,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/HoodieCompactor.java",
        "extension" : "java",
        "linesOfCode" : 186,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 130,
      "startLine" : 155,
      "endLine" : 160,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieReplaceCommitMetadata.java",
        "extension" : "java",
        "linesOfCode" : 96,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 91,
      "endLine" : 97,
      "cleanedStartLine" : 31,
      "cleanedEndLine" : 36
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/source/stats/ColumnStats.java",
        "extension" : "java",
        "linesOfCode" : 41,
        "components" : [ "primary::hudi-flink-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 54,
      "endLine" : 60,
      "cleanedStartLine" : 17,
      "cleanedEndLine" : 22
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDropPartitionsTool.java",
        "extension" : "java",
        "linesOfCode" : 302,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 231,
      "startLine" : 233,
      "endLine" : 239,
      "cleanedStartLine" : 102,
      "cleanedEndLine" : 107
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/TableSizeStats.java",
        "extension" : "java",
        "linesOfCode" : 326,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 242,
      "startLine" : 192,
      "endLine" : 198,
      "cleanedStartLine" : 61,
      "cleanedEndLine" : 66
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieKey.java",
        "extension" : "java",
        "linesOfCode" : 47,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 33,
      "startLine" : 68,
      "endLine" : 74,
      "cleanedStartLine" : 16,
      "cleanedEndLine" : 21
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/DeleteMetadataTableProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 46,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 31,
      "startLine" : 37,
      "endLine" : 46,
      "cleanedStartLine" : 7,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/ShowCompactionProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 53,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 37,
      "startLine" : 49,
      "endLine" : 58,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/storage/StoragePathInfo.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 62,
      "startLine" : 112,
      "endLine" : 118,
      "cleanedStartLine" : 42,
      "cleanedEndLine" : 47
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/streamer/ErrorEvent.java",
        "extension" : "java",
        "linesOfCode" : 40,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 29,
      "startLine" : 45,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/ClusteringOperation.java",
        "extension" : "java",
        "linesOfCode" : 85,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 60,
      "startLine" : 108,
      "endLine" : 114,
      "cleanedStartLine" : 45,
      "cleanedEndLine" : 50
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieColumnRangeMetadata.java",
        "extension" : "java",
        "linesOfCode" : 141,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 113,
      "startLine" : 98,
      "endLine" : 104,
      "cleanedStartLine" : 47,
      "cleanedEndLine" : 52
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/clean/CleanPlanActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 143,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 93,
      "startLine" : 61,
      "endLine" : 66,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/cluster/ClusteringPlanActionExecutor.java",
        "extension" : "java",
        "linesOfCode" : 77,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 50,
      "endLine" : 55,
      "cleanedStartLine" : 5,
      "cleanedEndLine" : 10
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/CompactionOperation.java",
        "extension" : "java",
        "linesOfCode" : 123,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 91,
      "startLine" : 155,
      "endLine" : 161,
      "cleanedStartLine" : 78,
      "cleanedEndLine" : 83
    }, {
      "file" : {
        "relativePath" : "hudi-io/src/main/java/org/apache/hudi/common/util/Option.java",
        "extension" : "java",
        "linesOfCode" : 115,
        "components" : [ "primary::hudi-io" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 75,
      "startLine" : 167,
      "endLine" : 173,
      "cleanedStartLine" : 60,
      "cleanedEndLine" : 65
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieRecordGlobalLocation.java",
        "extension" : "java",
        "linesOfCode" : 72,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 51,
      "startLine" : 59,
      "endLine" : 65,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/util/BloomFilterData.java",
        "extension" : "java",
        "linesOfCode" : 68,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 50,
      "startLine" : 51,
      "endLine" : 57,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/MergeIntoHoodieTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 474,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 367,
      "startLine" : 209,
      "endLine" : 215,
      "cleanedStartLine" : 49,
      "cleanedEndLine" : 54
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/MergeIntoHoodieTableCommand.scala",
        "extension" : "scala",
        "linesOfCode" : 474,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 367,
      "startLine" : 219,
      "endLine" : 225,
      "cleanedStartLine" : 56,
      "cleanedEndLine" : 61
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BucketInfo.java",
        "extension" : "java",
        "linesOfCode" : 48,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 35,
      "startLine" : 61,
      "endLine" : 67,
      "cleanedStartLine" : 23,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/model/HoodieFileGroupId.java",
        "extension" : "java",
        "linesOfCode" : 44,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 30,
      "startLine" : 46,
      "endLine" : 52,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 127,
      "endLine" : 132,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 234,
      "endLine" : 239,
      "cleanedStartLine" : 128,
      "cleanedEndLine" : 133
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-hadoop-common/src/main/java/org/apache/hudi/hadoop/fs/SerializablePath.java",
        "extension" : "java",
        "linesOfCode" : 39,
        "components" : [ "primary::hudi-hadoop-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 22,
      "startLine" : 60,
      "endLine" : 66,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/sources/helpers/ProtoConversionUtil.java",
        "extension" : "java",
        "linesOfCode" : 400,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 301,
      "startLine" : 488,
      "endLine" : 494,
      "cleanedStartLine" : 283,
      "cleanedEndLine" : 288
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 127,
      "endLine" : 132,
      "cleanedStartLine" : 52,
      "cleanedEndLine" : 57
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-flink-client/src/main/java/org/apache/hudi/io/FlinkWriteHandleFactory.java",
        "extension" : "java",
        "linesOfCode" : 199,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 163,
      "startLine" : 196,
      "endLine" : 201,
      "cleanedStartLine" : 101,
      "cleanedEndLine" : 106
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-common/src/main/java/org/apache/hudi/common/data/HoodieData.java",
        "extension" : "java",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-common" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 43,
      "startLine" : 236,
      "endLine" : 242,
      "cleanedStartLine" : 33,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "hudi-utilities/src/main/java/org/apache/hudi/utilities/HoodieDataTableValidator.java",
        "extension" : "java",
        "linesOfCode" : 280,
        "components" : [ "primary::hudi-utilities" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 205,
      "startLine" : 200,
      "endLine" : 206,
      "cleanedStartLine" : 68,
      "cleanedEndLine" : 73
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/CreateSavepointProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 61,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 45,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 16
    }, {
      "file" : {
        "relativePath" : "hudi-spark-datasource/hudi-spark/src/main/scala/org/apache/spark/sql/hudi/command/procedures/RepairAddpartitionmetaProcedure.scala",
        "extension" : "scala",
        "linesOfCode" : 57,
        "components" : [ "primary::hudi-spark-datasource" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 39,
      "startLine" : 42,
      "endLine" : 51,
      "cleanedStartLine" : 10,
      "cleanedEndLine" : 15
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "hudi-client/hudi-java-client/src/main/java/org/apache/hudi/table/HoodieJavaMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 84,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 49,
      "startLine" : 74,
      "endLine" : 81,
      "cleanedStartLine" : 20,
      "cleanedEndLine" : 25
    }, {
      "file" : {
        "relativePath" : "hudi-client/hudi-spark-client/src/main/java/org/apache/hudi/table/HoodieSparkMergeOnReadTable.java",
        "extension" : "java",
        "linesOfCode" : 169,
        "components" : [ "primary::hudi-client" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 99,
      "startLine" : 142,
      "endLine" : 149,
      "cleanedStartLine" : 35,
      "cleanedEndLine" : 40
    } ]
  } ],
  "overallDuplication" : null
}