Repository Analysis

apache/flink-cdc

Flink CDC is a streaming data integration tool

10.0 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of apache/flink-cdc, a Java project with 6,442 GitHub stars. SynthScan v2.0 examined 412,889 lines of code across 2038 source files, recording 610 pattern matches distributed across 10 syntactic categories. The overall adjusted score of 10.0 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

10.0
Adjusted Score
10.0
Raw Score
100%
Time Factor
2026-07-14
Last Push
6.4K
Stars
Java
Language
412.9K
Lines of Code
2.0K
Files
610
Pattern Hits
2026-07-14
Scan Date
0.16
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 335HIGH 0MEDIUM 17LOW 258

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 610 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hallucination Indicators335 hits · 3778 pts
SeverityFileLineSnippetContext
CRITICAL…cdc/runtime/partitioning/PrePartitionOperatorTest.java208 org.apache.flink.cdc.common.data.GenericRecordData.of()))CODE
CRITICAL…/java/org/apache/flink/cdc/common/types/DataField.java124 ? org.apache.flink.table.api.DataTypes.FIELD(CODE
CRITICAL…/java/org/apache/flink/cdc/common/types/DataField.java126 : org.apache.flink.table.api.DataTypes.FIELD(CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java108 ? org.apache.flink.table.api.DataTypes.CHAR(length)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java109 : org.apache.flink.table.api.DataTypes.CHAR(length).notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java112 ? org.apache.flink.table.api.DataTypes.VARCHAR(length)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java113 : org.apache.flink.table.api.DataTypes.VARCHAR(length).notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java116 ? org.apache.flink.table.api.DataTypes.BOOLEAN()CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java117 : org.apache.flink.table.api.DataTypes.BOOLEAN().notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java120 ? org.apache.flink.table.api.DataTypes.BINARY(length)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java121 : org.apache.flink.table.api.DataTypes.BINARY(length).notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java124 ? org.apache.flink.table.api.DataTypes.VARBINARY(length)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java125 : org.apache.flink.table.api.DataTypes.VARBINARY(length).notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java128 ? org.apache.flink.table.api.DataTypes.DECIMAL(precision, scale)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java129 : org.apache.flink.table.api.DataTypes.DECIMAL(precision, scale).notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java132 ? org.apache.flink.table.api.DataTypes.TINYINT()CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java133 : org.apache.flink.table.api.DataTypes.TINYINT().notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java136 ? org.apache.flink.table.api.DataTypes.SMALLINT()CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java137 : org.apache.flink.table.api.DataTypes.SMALLINT().notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java140 ? org.apache.flink.table.api.DataTypes.INT()CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java141 : org.apache.flink.table.api.DataTypes.INT().notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java144 ? org.apache.flink.table.api.DataTypes.DATE()CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java145 : org.apache.flink.table.api.DataTypes.DATE().notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java148 ? org.apache.flink.table.api.DataTypes.TIME(precision)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java149 : org.apache.flink.table.api.DataTypes.TIME(precision).notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java152 ? org.apache.flink.table.api.DataTypes.BIGINT()CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java153 : org.apache.flink.table.api.DataTypes.BIGINT().notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java156 ? org.apache.flink.table.api.DataTypes.FLOAT()CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java157 : org.apache.flink.table.api.DataTypes.FLOAT().notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java160 ? org.apache.flink.table.api.DataTypes.DOUBLE()CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java161 : org.apache.flink.table.api.DataTypes.DOUBLE().notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java164 ? org.apache.flink.table.api.DataTypes.TIMESTAMP(precision)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java165 : org.apache.flink.table.api.DataTypes.TIMESTAMP(precision).notNull();CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java168 ? org.apache.flink.table.api.DataTypes.TIMESTAMP_WITH_LOCAL_TIME_ZONE(CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java170 : org.apache.flink.table.api.DataTypes.TIMESTAMP_WITH_LOCAL_TIME_ZONE(CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java175 ? org.apache.flink.table.api.DataTypes.TIMESTAMP_WITH_TIME_ZONE(precision)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java176 : org.apache.flink.table.api.DataTypes.TIMESTAMP_WITH_TIME_ZONE(precision)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java181 ? org.apache.flink.table.api.DataTypes.ARRAY(CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java183 : org.apache.flink.table.api.DataTypes.ARRAY(CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java189 ? org.apache.flink.table.api.DataTypes.MAP(CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java191 : org.apache.flink.table.api.DataTypes.MAP(CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java203 ? org.apache.flink.table.api.DataTypes.ROW(fields)CODE
CRITICAL…apache/flink/cdc/common/types/utils/DataTypeUtils.java204 : org.apache.flink.table.api.DataTypes.ROW(fields).notNull();CODE
CRITICAL…g/apache/flink/cdc/common/factories/FactoryHelper.java171 return org.apache.flink.configuration.Configuration.fromMap(formatConfigMap);CODE
CRITICAL…rc/main/java/org/apache/flink/cdc/cli/CliFrontend.java109 org.apache.flink.configuration.Configuration.fromMap(configuration.toMap());CODE
CRITICAL…rc/main/java/org/apache/flink/cdc/cli/CliFrontend.java171 org.apache.flink.configuration.ConfigurationUtils.convertValue(CODE
CRITICAL…nectors/oracle/source/OracleSourceValueConverters.java47 return io.debezium.data.geometry.Geometry.builder();CODE
CRITICAL…nectors/oracle/source/OracleSourceValueConverters.java101 io.debezium.data.geometry.Geometry.createValue(CODE
CRITICAL…nectors/oracle/source/OracleSourceValueConverters.java109 io.debezium.data.geometry.Geometry.createValue(CODE
CRITICAL…flink/cdc/debezium/internal/DebeziumChangeFetcher.java175 // the retry is handled in io.debezium.connector.common.BaseSourceTask.poll()COMMENT
CRITICAL…dc/debezium/event/DebeziumSchemaDataTypeInference.java108 || org.apache.kafka.connect.data.Date.LOGICAL_NAME.equals(schema.name())) {CODE
CRITICAL…dc/debezium/event/DebeziumSchemaDataTypeInference.java114 if (org.apache.kafka.connect.data.Time.LOGICAL_NAME.equals(schema.name())) {CODE
CRITICAL…dc/debezium/event/DebeziumSchemaDataTypeInference.java128 || org.apache.kafka.connect.data.Timestamp.LOGICAL_NAME.equals(schema.name())) {CODE
CRITICAL…m/connector/mysql/MySqlStreamingChangeEventSource.java1160 gtidSet = new com.github.shyiko.mysql.binlog.GtidSet(filteredGtidSetStr);CODE
CRITICAL…m/connector/mysql/MySqlStreamingChangeEventSource.java1166 gtidSet = new com.github.shyiko.mysql.binlog.GtidSet("");CODE
CRITICAL…/io/debezium/connector/mysql/MySqlValueConverters.java182 return io.debezium.data.geometry.Point.builder();CODE
CRITICAL…/io/debezium/connector/mysql/MySqlValueConverters.java191 return io.debezium.data.geometry.Geometry.builder();CODE
CRITICAL…/io/debezium/connector/mysql/MySqlValueConverters.java749 io.debezium.data.geometry.Geometry.createValue(CODE
CRITICAL…/io/debezium/connector/mysql/MySqlValueConverters.java759 io.debezium.data.geometry.Point.createValue(CODE
CRITICAL…/io/debezium/connector/mysql/MySqlValueConverters.java790 io.debezium.data.geometry.Geometry.createValue(CODE
275 more matches not shown…
Over-Commented Block179 hits · 168 pts
SeverityFileLineSnippetContext
LOW.asf.yaml1# Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
LOW…/flink/cdc/common/types/variant/BinaryVariantUtil.java61 public static final int PRIMITIVE = 0;COMMENT
LOW…/flink/cdc/common/types/variant/BinaryVariantUtil.java81 // Its type info should be: 000_b2_b1b0:COMMENT
LOW…/flink/cdc/common/types/variant/BinaryVariantUtil.java101 // 8-byte IEEE double.COMMENT
LOW…common/types/variant/BinaryVariantInternalBuilder.java321COMMENT
LOW…a/org/apache/flink/cdc/common/route/TableIdRouter.java81 // In CDC-style table matching, table names could be separated by `,` character.COMMENT
LOWtools/update_version.sh1#!/usr/bin/env bashCOMMENT
LOWtools/ci/license_check.rb1#!/usr/bin/env rubyCOMMENT
LOWtools/cdcup/cdcup.sh1#!/usr/bin/env bashCOMMENT
LOWtools/cdcup/src/app.rb1#!/usr/bin/env rubyCOMMENT
LOWtools/cdcup/src/download_libs.rb1# frozen_string_literal: trueCOMMENT
LOWtools/cdcup/src/source/my_sql.rb1# frozen_string_literal: trueCOMMENT
LOWtools/cdcup/src/source/values_source.rb1# frozen_string_literal: trueCOMMENT
LOWtools/cdcup/src/sink/kafka.rb1# frozen_string_literal: trueCOMMENT
LOWtools/cdcup/src/sink/doris.rb1# frozen_string_literal: trueCOMMENT
LOWtools/cdcup/src/sink/paimon.rb1# frozen_string_literal: trueCOMMENT
LOWtools/cdcup/src/sink/values_sink.rb1# frozen_string_literal: trueCOMMENT
LOWtools/cdcup/src/sink/star_rocks.rb1# frozen_string_literal: trueCOMMENT
LOWtools/releasing/create_source_release.sh1#!/usr/bin/env bashCOMMENT
LOWtools/releasing/create_release_branch.sh1#!/usr/bin/env bashCOMMENT
LOWtools/releasing/deploy_staging_jars.sh1#!/usr/bin/env bashCOMMENT
LOWtools/releasing/update_branch_version.sh1#!/usr/bin/env bashCOMMENT
LOWflink-cdc-dist/src/main/flink-cdc-bin/bin/flink-cdc.sh1#!/usr/bin/env bashCOMMENT
LOW…nk-cdc-dist/src/main/flink-cdc-bin/conf/flink-cdc.yaml1################################################################################COMMENT
LOW…ine-e2e-tests/src/test/resources/rules/incomplete.yaml1# Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
LOW…peline-e2e-tests/src/test/resources/rules/invalid.yaml1# Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
LOW…line-e2e-tests/src/test/resources/rules/malformed.yaml1# Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
LOW…ine-e2e-tests/src/test/resources/rules/unexpected.yaml1# Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
LOW…peline-e2e-tests/src/test/resources/rules/vanilla.yaml1# Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
LOW…e-e2e-tests/src/test/resources/docker/mongodb/setup.js1// Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
LOW…ource-e2e-tests/src/test/resources/docker/tidb/pd.toml1# Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
LOW…ource-e2e-tests/src/test/resources/docker/tidb/pd.toml41key-path = ""COMMENT
LOW…ource-e2e-tests/src/test/resources/docker/tidb/pd.toml81COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml1# Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml21# e.g.: 78_000 = "1.3m"COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml41# max-tasks-low = 8000COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml61# advertise-addr = ""COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml81# concurrent-recv-snap-limit = 32COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml101# data-dir = "/tmp/tikv/store"COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml121# pd endpointsCOMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml141COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml161# raft-entry-max-size = "8MB"COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml181# The minimum number of delete tombstones to trigger manual compaction.COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml201[coprocessor]COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml221# Number of open files that can be used by the DB. You may need toCOMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml241# 2 : PointInTimeRecovery, Recover to point-in-time consistency;COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml261# are older than wal-ttl-seconds will be deleted.COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml281COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml301COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml321# Maximal Rocksdb info log files to be kept.COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml341# lz4hc: kLZ4HCCompressionCOMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml361COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml381COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml401# during table initialization.COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml421[rocksdb.writecf]COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml441[rocksdb.lockcf]COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml461max-open-files = 1024COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml481[raftdb.defaultcf]COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tikv.toml501[security]COMMENT
LOW…rce-e2e-tests/src/test/resources/docker/tidb/tidb.toml1# Licensed to the Apache Software Foundation (ASF) under one or moreCOMMENT
119 more matches not shown…
Verbosity Indicators30 hits · 62 pts
SeverityFileLineSnippetContext
LOW…a/org/apache/flink/cdc/common/route/TableIdRouter.java93 // Step 1: escape the dot with a backslash, but keep it as a placeholder (like `$`).COMMENT
LOW…a/org/apache/flink/cdc/common/route/TableIdRouter.java98 // Step 2: replace all remaining dots (`.`) to quoted version (`\.`), as a separator betweenCOMMENT
LOW…a/org/apache/flink/cdc/common/route/TableIdRouter.java104 // Step 3: restore placeholder to normal RegEx matcher (`.`)COMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java148 // Step 1: start source reader and assign snapshot splitsCOMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java198 // Step 2: wait the snapshot splits finished readingCOMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java203 // Step 3: snapshot reader's stateCOMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java206 // Step 4: restart reader from a restored stateCOMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java213 // Step 5: check the finished unacked splits between original reader and restarted readerCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java158 // Step 1: start source reader and assign snapshot splitsCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java187 // Step 2: wait the snapshot splits finished readingCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java194 // Step 3: add splits that need to be removed and do not read it, then snapshot reader'sCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java199 // Step 4: remove table 'prefix_customers' and restart reader from a restored stateCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java207 // Step 5: check the finished unacked splits between original reader and restarted readerCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java269 // Step 1: start source reader and assign snapshot splitsCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java298 // Step 2: wait the snapshot splits finished readingCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java302 // Step 3: snapshot reader's stateCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java305 // Step 4: restart reader from a restored stateCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java310 // Step 5: check the finished unacked splits between original reader and restarted readerCOMMENT
LOW…nectors/mysql/debezium/reader/SnapshotSplitReader.java160 // Step 1: execute snapshot read taskCOMMENT
LOW…nectors/mysql/debezium/reader/SnapshotSplitReader.java163 // Step 2: read binlog events between low and high watermark and backfillCOMMENT
LOW…c/main/java/io/debezium/connector/mysql/GtidUtils.java76 // Step 1: Fix old channels' GTID rangesCOMMENT
LOW…c/main/java/io/debezium/connector/mysql/GtidUtils.java81 // Step 2: For new channels, use server's full GTID to skip all historyCOMMENT
LOW…c/main/java/io/debezium/connector/mysql/GtidUtils.java86 // Step 3: Merge fixed old channels + new channelsCOMMENT
LOW…s/postgres/source/reader/PostgresSourceReaderTest.java233 // Step 1: start source reader and assign snapshot splitsCOMMENT
LOW…s/postgres/source/reader/PostgresSourceReaderTest.java262 // Step 2: wait the snapshot splits finished readingCOMMENT
LOW…dc/connectors/iceberg/sink/IcebergMetadataApplier.java169 // Step 0: Create namespace if not exists.COMMENT
LOW…apache/flink/cdc/connectors/hudi/sink/v2/HudiSink.java71 // Step 1: Bucket assignment operatorCOMMENT
LOW…apache/flink/cdc/connectors/hudi/sink/v2/HudiSink.java83 // Step 2: Partition by bucket indexCOMMENT
LOW…apache/flink/cdc/connectors/hudi/sink/v2/HudiSink.java92 // Step 3: Flush event alignmentCOMMENT
LOW…apache/flink/cdc/connectors/hudi/sink/v2/HudiSink.java103 // Step 4: Unwrap and write to HudiCOMMENT
Structural Annotation Overuse30 hits · 62 pts
SeverityFileLineSnippetContext
LOW…a/org/apache/flink/cdc/common/route/TableIdRouter.java93 // Step 1: escape the dot with a backslash, but keep it as a placeholder (like `$`).COMMENT
LOW…a/org/apache/flink/cdc/common/route/TableIdRouter.java98 // Step 2: replace all remaining dots (`.`) to quoted version (`\.`), as a separator betweenCOMMENT
LOW…a/org/apache/flink/cdc/common/route/TableIdRouter.java104 // Step 3: restore placeholder to normal RegEx matcher (`.`)COMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java148 // Step 1: start source reader and assign snapshot splitsCOMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java198 // Step 2: wait the snapshot splits finished readingCOMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java203 // Step 3: snapshot reader's stateCOMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java206 // Step 4: restart reader from a restored stateCOMMENT
LOW…ctors/oracle/source/reader/OracleSourceReaderTest.java213 // Step 5: check the finished unacked splits between original reader and restarted readerCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java158 // Step 1: start source reader and assign snapshot splitsCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java187 // Step 2: wait the snapshot splits finished readingCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java194 // Step 3: add splits that need to be removed and do not read it, then snapshot reader'sCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java199 // Step 4: remove table 'prefix_customers' and restart reader from a restored stateCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java207 // Step 5: check the finished unacked splits between original reader and restarted readerCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java269 // Step 1: start source reader and assign snapshot splitsCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java298 // Step 2: wait the snapshot splits finished readingCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java302 // Step 3: snapshot reader's stateCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java305 // Step 4: restart reader from a restored stateCOMMENT
LOW…nectors/mysql/source/reader/MySqlSourceReaderTest.java310 // Step 5: check the finished unacked splits between original reader and restarted readerCOMMENT
LOW…nectors/mysql/debezium/reader/SnapshotSplitReader.java160 // Step 1: execute snapshot read taskCOMMENT
LOW…nectors/mysql/debezium/reader/SnapshotSplitReader.java163 // Step 2: read binlog events between low and high watermark and backfillCOMMENT
LOW…c/main/java/io/debezium/connector/mysql/GtidUtils.java76 // Step 1: Fix old channels' GTID rangesCOMMENT
LOW…c/main/java/io/debezium/connector/mysql/GtidUtils.java81 // Step 2: For new channels, use server's full GTID to skip all historyCOMMENT
LOW…c/main/java/io/debezium/connector/mysql/GtidUtils.java86 // Step 3: Merge fixed old channels + new channelsCOMMENT
LOW…s/postgres/source/reader/PostgresSourceReaderTest.java233 // Step 1: start source reader and assign snapshot splitsCOMMENT
LOW…s/postgres/source/reader/PostgresSourceReaderTest.java262 // Step 2: wait the snapshot splits finished readingCOMMENT
LOW…dc/connectors/iceberg/sink/IcebergMetadataApplier.java169 // Step 0: Create namespace if not exists.COMMENT
LOW…apache/flink/cdc/connectors/hudi/sink/v2/HudiSink.java71 // Step 1: Bucket assignment operatorCOMMENT
LOW…apache/flink/cdc/connectors/hudi/sink/v2/HudiSink.java83 // Step 2: Partition by bucket indexCOMMENT
LOW…apache/flink/cdc/connectors/hudi/sink/v2/HudiSink.java92 // Step 3: Flush event alignmentCOMMENT
LOW…apache/flink/cdc/connectors/hudi/sink/v2/HudiSink.java103 // Step 4: Unwrap and write to HudiCOMMENT
Decorative Section Separators16 hits · 54 pts
SeverityFileLineSnippetContext
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml281#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml283#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml293#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml295#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml23#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml25#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml112#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml114#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml142#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml144#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml185#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml187#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml221#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml223#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml259#==============================================================================COMMENT
MEDIUM…cli/src/test/resources/flink-home/conf/flink-conf.yaml261#==============================================================================COMMENT
Hyper-Verbose Identifiers7 hits · 7 pts
SeverityFileLineSnippetContext
LOWtools/cdcup/src/source/my_sql.rb25 def prepend_to_docker_compose_yaml(docker_compose_yaml)CODE
LOWtools/cdcup/src/source/values_source.rb26 def prepend_to_docker_compose_yaml(_); endCODE
LOWtools/cdcup/src/sink/kafka.rb25 def prepend_to_docker_compose_yaml(docker_compose_yaml)CODE
LOWtools/cdcup/src/sink/doris.rb25 def prepend_to_docker_compose_yaml(docker_compose_yaml)CODE
LOWtools/cdcup/src/sink/paimon.rb27 def prepend_to_docker_compose_yaml(docker_compose_yaml)CODE
LOWtools/cdcup/src/sink/values_sink.rb26 def prepend_to_docker_compose_yaml(_); endCODE
LOWtools/cdcup/src/sink/star_rocks.rb25 def prepend_to_docker_compose_yaml(docker_compose_yaml)CODE
Fake / Example Data7 hits · 7 pts
SeverityFileLineSnippetContext
LOW…s/postgres/source/reader/PostgresSourceReaderTest.java307 "ALTER TABLE customer.\"Customers\" ADD COLUMN email VARCHAR(255) DEFAULT 'test@test.com'");CODE
LOW…s/source/fetch/IncrementalSourceStreamFetcherTest.java150 "ALTER TABLE customer.\"Customers\" ADD COLUMN email VARCHAR(255) DEFAULT 'test@test.com'");CODE
LOW…s/source/fetch/IncrementalSourceStreamFetcherTest.java183 + " email varchar(255, 0) DEFAULT VALUE 'test@test.com'::character varying\n"CODE
LOW…k/cdc/composer/flink/FlinkPipelineTransformITCase.java2109 .physicalColumn("name", DataTypes.STRING(), "name column", "Jane Doe")CODE
LOW…k/cdc/composer/flink/FlinkPipelineTransformITCase.java2172 "CreateTableEvent{tableId=default_namespace.default_schema.mytable1, schema=columns={`id` INT NOCODE
LOW…che/flink/cdc/composer/specs/TransformSpecsITCase.java210 "Lorem ipsum".getBytes(StandardCharsets.UTF_8),CODE
LOW…che/flink/cdc/composer/specs/TransformSpecsITCase.java211 "dolor sit amet".getBytes(StandardCharsets.UTF_8),CODE
AI Slop Vocabulary1 hit · 4 pts
SeverityFileLineSnippetContext
MEDIUM…a/org/apache/flink/cdc/common/route/TableIdRouter.java87 // Essentially, we're just trying to swap escaped `\\.` and unescaped `.`.COMMENT
Redundant / Tautological Comments3 hits · 4 pts
SeverityFileLineSnippetContext
LOWtools/update_version.sh57# Check if FLINK_VERSION is setCOMMENT
LOWflink-cdc-dist/src/main/flink-cdc-bin/bin/flink-cdc.sh21# Check if FLINK_HOME is set in command-line arguments by "--flink-home"COMMENT
LOWflink-cdc-dist/src/main/flink-cdc-bin/bin/flink-cdc.sh27 # Check if the value is not emptyCOMMENT
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…g/apache/flink/cdc/runtime/parser/TransformParser.java382 // Otherwise, append it at the end. Don't forget to set the index!COMMENT
LOWtools/releasing/update_branch_version.sh62echo "If this is a new version to be released (or a candidate to be voted on), don't forget to create a signed release tCODE