SeaTunnel is a multimodal, high-performance, distributed, massive data integration tool.
This report summarizes scanner evidence for apache/seatunnel, a Java project with 9,777 GitHub stars. SynthScan examined 1,350,006 lines of code across 8329 source files, recording 1232 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 2.0 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 887 finding(s).
Are imports declared and package/API names verified? 198 finding(s).
Are wrappers, guards, and repeated structures necessary? 542 finding(s).
Which changes need focused human review? 1232 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1232 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …eatunnel/openmldb/source/OpenMldbSourceReaderTest.java | 225 | org.apache.seatunnel.shade.com.typesafe.config.ConfigFactory.parseString( | CODE |
| CRITICAL | …eatunnel/openmldb/source/OpenMldbSourceReaderTest.java | 231 | org.apache.seatunnel.shade.com.typesafe.config.ConfigFactory.parseString( | CODE |
| CRITICAL | …nnel/edgesocket/source/EdgeSocketSourceReaderTest.java | 628 | new org.apache.seatunnel.connectors.seatunnel.edgesocket.config.EdgeSocketConfig( | CODE |
| CRITICAL⚡ | …connectors/seatunnel/mem0/sink/Mem0SinkWriterTest.java | 132 | org.junit.jupiter.api.Assertions.assertTrue(Mem0SinkWriter.isRetryableStatus(408)); | CODE |
| CRITICAL⚡ | …connectors/seatunnel/mem0/sink/Mem0SinkWriterTest.java | 133 | org.junit.jupiter.api.Assertions.assertTrue(Mem0SinkWriter.isRetryableStatus(429)); | CODE |
| CRITICAL⚡ | …connectors/seatunnel/mem0/sink/Mem0SinkWriterTest.java | 134 | org.junit.jupiter.api.Assertions.assertTrue(Mem0SinkWriter.isRetryableStatus(500)); | CODE |
| CRITICAL⚡ | …connectors/seatunnel/mem0/sink/Mem0SinkWriterTest.java | 135 | org.junit.jupiter.api.Assertions.assertFalse(Mem0SinkWriter.isRetryableStatus(400)); | CODE |
| CRITICAL⚡ | …connectors/seatunnel/mem0/sink/Mem0SinkWriterTest.java | 136 | org.junit.jupiter.api.Assertions.assertFalse(Mem0SinkWriter.isRetryableStatus(401)); | CODE |
| CRITICAL | …nnectors/seatunnel/http/client/HttpClientProvider.java | 293 | org.apache.seatunnel.connectors.seatunnel.http.source.FilenameExtractor.extract( | CODE |
| CRITICAL | …connectors/seatunnel/hugegraph/utils/DataTypeUtil.java | 354 | return org.apache.hugegraph.util.DateUtil.parse(s); | CODE |
| CRITICAL | …connectors/seatunnel/hugegraph/utils/DataTypeUtil.java | 494 | com.google.common.base.Splitter.on(listFormat.getElemDelimiter()) | CODE |
| CRITICAL | …seatunnel/connectors/seatunnel/hive/sink/HiveSink.java | 244 | org.apache.seatunnel.api.table.catalog.TablePath.of(table); | CODE |
| CRITICAL | …seatunnel/connectors/seatunnel/hive/sink/HiveSink.java | 319 | org.apache.seatunnel.api.table.catalog.TablePath.of(table); | CODE |
| CRITICAL | …onnectors/seatunnel/hive/sink/HiveSaveModeHandler.java | 262 | new org.apache.hadoop.hive.metastore.api.SerDeInfo(); | CODE |
| CRITICAL | …onnectors/seatunnel/hive/sink/HiveSaveModeHandler.java | 331 | new org.apache.hadoop.hive.metastore.api.SerDeInfo(); | CODE |
| CRITICAL | …nectors/seatunnel/hive/utils/HiveMetaStoreCatalog.java | 721 | org.apache.seatunnel.api.table.catalog.PhysicalColumn.of( | CODE |
| CRITICAL | …nectors/seatunnel/hive/utils/HiveMetaStoreCatalog.java | 733 | org.apache.seatunnel.api.table.catalog.PhysicalColumn.of( | CODE |
| CRITICAL⚡ | …nectors/seatunnel/hive/utils/HiveMetaStoreCatalog.java | 744 | org.apache.seatunnel.api.table.catalog.TableSchema.builder() | CODE |
| CRITICAL⚡ | …nectors/seatunnel/hive/utils/HiveMetaStoreCatalog.java | 749 | org.apache.seatunnel.api.table.catalog.TableIdentifier.of( | CODE |
| CRITICAL⚡ | …nectors/seatunnel/hive/utils/HiveMetaStoreCatalog.java | 755 | return org.apache.seatunnel.api.table.catalog.CatalogTable.of( | CODE |
| CRITICAL | …nectors/seatunnel/hive/utils/HiveMetaStoreCatalog.java | 774 | new org.apache.hadoop.hive.metastore.api.StorageDescriptor(); | CODE |
| CRITICAL | …nectors/seatunnel/hive/utils/HiveMetaStoreCatalog.java | 781 | new org.apache.hadoop.hive.metastore.api.FieldSchema( | CODE |
| CRITICAL | …ternal/dialect/oracle/container/OracleCatalogTest.java | 127 | org.apache.seatunnel.api.table.catalog.TableIdentifier.of( | CODE |
| CRITICAL | …t/kingbase/container/KingbaseCatalogContainerTest.java | 115 | org.apache.seatunnel.api.table.catalog.TableIdentifier.of( | CODE |
| CRITICAL | …ctors/seatunnel/jdbc/utils/JdbcFieldTypeUtilsTest.java | 88 | org.junit.jupiter.api.Assertions.assertThrows( | CODE |
| CRITICAL | …ternal/executor/CopyManagerBatchStatementExecutor.java | 160 | org.apache.commons.codec.binary.Base64.encodeBase64String( | CODE |
| CRITICAL | …el/paimon/handler/PaimonBranchSaveModeHandlerTest.java | 269 | org.apache.seatunnel.api.table.catalog.PrimaryKey.of( | CODE |
| CRITICAL | …ctors/seatunnel/paimon/utils/RowTypeConverterTest.java | 188 | new org.apache.seatunnel.api.table.type.DecimalType(30, 8); | CODE |
| CRITICAL | …connectors/seatunnel/paimon/catalog/PaimonCatalog.java | 296 | org.apache.seatunnel.api.table.catalog.TableIdentifier.of( | CODE |
| CRITICAL | …on/source/converter/SqlToPaimonPredicateConverter.java | 397 | org.apache.seatunnel.common.utils.DateTimeUtils.parse(strValue)); | CODE |
| CRITICAL | …onnectors/seatunnel/paimon/utils/RowTypeConverter.java | 501 | return new org.apache.seatunnel.api.table.type.DecimalType( | CODE |
| CRITICAL⚡ | …rs/seatunnel/databend/sink/DatabendSinkWriterTest.java | 284 | org.junit.jupiter.api.Assertions.assertTrue(mergeSql.contains("raw_data:id as id")); | CODE |
| CRITICAL⚡ | …rs/seatunnel/databend/sink/DatabendSinkWriterTest.java | 285 | org.junit.jupiter.api.Assertions.assertTrue(mergeSql.contains("raw_data:name as name")); | CODE |
| CRITICAL⚡ | …rs/seatunnel/databend/sink/DatabendSinkWriterTest.java | 286 | org.junit.jupiter.api.Assertions.assertFalse(mergeSql.contains("raw_data:score as score")); | CODE |
| CRITICAL | …l/connectors/seatunnel/lance/catalog/LanceCatalog.java | 383 | org.apache.seatunnel.api.table.catalog.PrimaryKey.of(pkName, pkColumnList)); | CODE |
| CRITICAL | …l/connectors/seatunnel/lance/catalog/LanceCatalog.java | 396 | org.apache.seatunnel.api.table.catalog.TableIdentifier.of( | CODE |
| CRITICAL | …l/connectors/seatunnel/lance/catalog/LanceCatalog.java | 447 | new com.lancedb.lance.namespace.model.JsonArrowDataType(); | CODE |
| CRITICAL | …/connectors/bigquery/sink/BigQuerySinkFactoryTest.java | 92 | org.junit.jupiter.api.Assertions.assertEquals( | CODE |
| CRITICAL | …tors/bigquery/sink/BigQueryCatalogAndSaveModeTest.java | 214 | com.google.cloud.bigquery.Schema.of(Field.of("id", StandardSQLTypeName.STRING)); | CODE |
| CRITICAL | …tors/bigquery/sink/BigQueryCatalogAndSaveModeTest.java | 265 | com.google.cloud.bigquery.Schema.of( | CODE |
| CRITICAL | …tors/bigquery/sink/BigQueryCatalogAndSaveModeTest.java | 313 | com.google.cloud.bigquery.Schema.of( | CODE |
| CRITICAL | …tors/bigquery/sink/BigQueryCatalogAndSaveModeTest.java | 440 | com.google.cloud.bigquery.Schema.of( | CODE |
| CRITICAL | …tors/bigquery/sink/BigQueryCatalogAndSaveModeTest.java | 457 | com.google.cloud.bigquery.Schema.of( | CODE |
| CRITICAL | …tors/bigquery/sink/BigQueryCatalogAndSaveModeTest.java | 462 | com.google.cloud.bigquery.Schema.of( | CODE |
| CRITICAL | …tors/bigquery/sink/BigQueryCatalogAndSaveModeTest.java | 536 | org.apache.seatunnel.api.table.catalog.PrimaryKey.of( | CODE |
| CRITICAL | …unnel/connectors/bigquery/catalog/BigQueryCatalog.java | 275 | com.google.cloud.bigquery.PrimaryKey.newBuilder() | CODE |
| CRITICAL | …unnel/connectors/bigquery/catalog/BigQueryCatalog.java | 280 | com.google.cloud.bigquery.TableConstraints.newBuilder() | CODE |
| CRITICAL | …/connectors/bigquery/client/BigQueryClientFactory.java | 63 | com.google.api.gax.core.NoCredentialsProvider.create()) | CODE |
| CRITICAL | …onnectors/seatunnel/fluss/source/FlussAdminClient.java | 149 | return com.alibaba.fluss.metadata.TablePath.of( | CODE |
| CRITICAL | …ors/seatunnel/fluss/source/FlussSourceSplitReader.java | 303 | com.alibaba.fluss.metadata.TablePath.of( | CODE |
| CRITICAL | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 121 | org.apache.seatunnel.api.table.catalog.CatalogTableUtil.getCatalogTable( | CODE |
| CRITICAL | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 464 | org.apache.seatunnel.api.table.catalog.CatalogTableUtil.getCatalogTable( | CODE |
| CRITICAL | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 522 | new org.apache.seatunnel.api.table.type.DecimalType(20, 6), | CODE |
| CRITICAL | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 539 | org.apache.seatunnel.api.table.catalog.CatalogTableUtil.getCatalogTable( | CODE |
| CRITICAL⚡ | …c/main/java/io/debezium/connector/mysql/GtidUtils.java | 50 | new com.github.shyiko.mysql.binlog.GtidSet.Interval( | CODE |
| CRITICAL⚡ | …c/main/java/io/debezium/connector/mysql/GtidUtils.java | 55 | new com.github.shyiko.mysql.binlog.GtidSet.Interval( | CODE |
| CRITICAL⚡ | …c/main/java/io/debezium/connector/mysql/GtidUtils.java | 62 | new com.github.shyiko.mysql.binlog.GtidSet.UUIDSet( | CODE |
| CRITICAL | …m/connector/mysql/MySqlStreamingChangeEventSource.java | 1154 | gtidSet = new com.github.shyiko.mysql.binlog.GtidSet(filteredGtidSetStr); | CODE |
| CRITICAL | …m/connector/mysql/MySqlStreamingChangeEventSource.java | 1160 | gtidSet = new com.github.shyiko.mysql.binlog.GtidSet(""); | CODE |
| CRITICAL | …s/seatunnel/iceberg/sink/IcebergFormatVersionTest.java | 181 | org.apache.seatunnel.api.table.catalog.TableIdentifier.of( | CODE |
| 47 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/check_connector_registration.py | 97 | def find_all_connector_modules(connectors_dir): | CODE |
| LOW | tools/check_connector_registration.py | 121 | def get_new_connector_modules_from_diff(repo_root, base_ref, connectors_dir): | CODE |
| LOW⚡ | tools/check_connector_registration.py | 174 | def is_module_declared_in_parent_pom(connector_abs_dir): | CODE |
| LOW | tools/check_connector_registration.py | 216 | def build_plugin_mapping_jars(plugin_mapping_path): | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 35 | def test_translation_base_change_runs_flink_and_spark(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 38 | def test_translation_flink_change_runs_flink_only(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 41 | def test_translation_spark_change_runs_spark_only(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 44 | def test_translation_base_and_flink_change_run_both_engines(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 50 | def test_engine_change_runs_zeta_only(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 56 | def test_engine_and_translation_change_run_every_engine(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 62 | def test_engine_and_connector_change_run_every_engine(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 68 | def test_shared_changes_run_every_engine(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 75 | def test_unknown_change_runs_every_engine(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_run_engines.py | 91 | def test_flink_only_translation_change_prints_flink(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 104 | def test_no_group_prints_every_engine(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 107 | def test_workflow_passes_every_group_flag(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_run_engines.py | 114 | def test_translation_probes_stay_narrow(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 56 | def test_modules_to_json_preserves_exact_module_tokens(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 63 | def test_module_outputs_use_json_empty_array(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 74 | def test_every_module_is_assigned_once(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 83 | def test_unknown_module_does_not_reshuffle_existing_modules(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 97 | def test_sharding_is_independent_of_module_order(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 105 | def test_historical_seed_assignments_are_preserved(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 129 | def test_full_and_updated_paths_apply_their_ownership_rules(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 168 | def test_regular_shards_keep_only_remaining_modules_once(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 190 | def test_regular_shards_fail_fast_when_dedicated_modules_disappear(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 206 | def test_regular_shards_allow_optional_dedicated_modules_to_be_absent( | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 222 | def test_workflow_keeps_dedicated_jobs_for_excluded_modules(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 252 | def test_dedicated_job_conditions_match_json_module_tokens(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 268 | def test_updated_shards_list_only_shards_with_modules(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 301 | def test_updated_shards_agree_with_per_shard_modules(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 314 | def test_updated_shards_reject_non_positive_shard_count(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 320 | def test_updated_module_jobs_are_gated_on_their_shard(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 347 | def test_full_shard_rejects_non_positive_shard_count(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 353 | def test_full_shard_rejects_out_of_range_index(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 379 | def test_standalone_paths_map_to_their_test_modules(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_update_modules_check.py | 394 | def test_standalone_modules_exist_and_match_workflow_filter(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 27 | def test_force_full_api_check_on_dev_branch(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 30 | def test_force_full_api_check_on_main_and_master_branches(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 37 | def test_force_full_api_check_on_release_branch(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 40 | def test_force_full_api_check_on_two_component_release_branch(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 43 | def test_force_full_api_check_on_pull_request_base_branch(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 46 | def test_skip_force_full_api_check_for_fork_owner(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 49 | def test_skip_force_full_api_check_on_pull_request_merge_ref(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 52 | def test_skip_force_full_api_check_on_non_version_release_branch(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 57 | def test_skip_force_full_api_check_on_release_tag(self) -> None: | CODE |
| LOW⚡ | tools/update_modules_check/test_ci_scope.py | 62 | def test_skip_full_api_check_for_ci_only_fork_change(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_ci_scope.py | 75 | def test_skip_full_api_check_for_benchmark_tools_change(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_ci_scope.py | 84 | def test_skip_full_api_check_for_dist_only_fork_change(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_ci_scope.py | 98 | def test_run_full_api_check_for_source_api_change(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_ci_scope.py | 111 | def test_run_full_api_check_for_mixed_lightweight_and_source_change(self) -> None: | CODE |
| LOW | tools/update_modules_check/test_ci_scope.py | 125 | def test_protected_branch_keeps_full_api_for_lightweight_change(self) -> None: | CODE |
| LOW | tools/update_modules_check/update_modules_check.py | 140 | def replace_comma_to_commacolon(modules_str): | CODE |
| LOW | tools/update_modules_check/update_modules_check.py | 163 | def get_dependency_tree_includes(modules_str): | CODE |
| LOW | tools/update_modules_check/update_modules_check.py | 229 | def _filter_shared_it_modules(modules, extra_exclusions=()): | CODE |
| LOW | tools/update_modules_check/update_modules_check.py | 240 | def filter_dedicated_shard_modules(modules, dedicated_modules, fail_on_missing): | CODE |
| LOW | tools/update_modules_check/update_modules_check.py | 257 | def split_full_connector_it_modules(modules, total_num): | CODE |
| LOW | tools/update_modules_check/update_modules_check.py | 295 | def build_sub_update_it_modules(modules, total_num, current_num): | CODE |
| LOW | tools/update_modules_check/update_modules_check.py | 314 | def get_sub_update_it_modules(modules, total_num, current_num): | CODE |
| LOW | tools/update_modules_check/update_modules_check.py | 318 | def build_sub_update_it_shards(modules, total_num): | CODE |
| 335 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .asf.yaml | 1 | # Licensed to the Apache Software Foundation (ASF) under one or more | COMMENT |
| LOW | .licenserc.yaml | 1 | # Licensed to Apache Software Foundation (ASF) under one or more contributor | COMMENT |
| LOW | …ctors/seatunnel/rocketmq/common/RocketMqAdminUtil.java | 341 | && topicRouteAvailable(adminClient, topic)) { | COMMENT |
| LOW | …rs/seatunnel/airtable/source/AirtableSourceReader.java | 121 | long exponential = 1L << Math.min(20, Math.max(0, retryCount - 1)); | COMMENT |
| LOW | …rs/seatunnel/airtable/source/AirtableSourceReader.java | 141 | // is at its most persistent. Spread the wait downwards instead. The cap | COMMENT |
| LOW | …ectors/seatunnel/airtable/sink/AirtableSinkWriter.java | 201 | COMMENT | |
| LOW | …ectors/seatunnel/prometheus/sink/PrometheusWriter.java | 121 | if (batchSize > 0 && batchList.size() >= batchSize) { | COMMENT |
| LOW | …ectors/seatunnel/prometheus/sink/PrometheusWriter.java | 161 | } | COMMENT |
| LOW | …src/test/resources/python/ignore_stdin_wait_forever.py | 1 | # | COMMENT |
| LOW | …or-python/src/test/resources/python/emit_then_sleep.py | 1 | # | COMMENT |
| LOW | …thon/src/test/resources/python/emit_without_newline.py | 1 | # | COMMENT |
| LOW | …/test/resources/python/spawn_stderr_child_then_exit.py | 1 | # | COMMENT |
| LOW | …onnector-python/src/test/resources/python/emit_rows.py | 1 | # | COMMENT |
| LOW | …on/src/test/resources/python/emit_then_wait_forever.py | 1 | # | COMMENT |
| LOW | …/test/resources/python/spawn_stdout_child_then_exit.py | 1 | # | COMMENT |
| LOW | …or-python/src/test/resources/python/exit_with_error.py | 1 | # | COMMENT |
| LOW | …g/apache/seatunnel/connectors/doris/util/HttpUtil.java | 41 | // BE. The default waitForContinue timeout of HttpRequestExecutor is only 3s: when FE is busy | COMMENT |
| LOW | …nel/connectors/doris/source/serialization/Routing.java | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …/selectdb/sink/writer/SelectDBSinkStateSerializer.java | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …ectdb/sink/committer/SelectDBCommitInfoSerializer.java | 1 | // Licensed to the Apache Software Foundation (ASF) under one | COMMENT |
| LOW | …s/seatunnel/cdc/sqlserver/source/offset/LsnOffset.java | 101 | return offset.get(SourceInfo.EVENT_SERIAL_NO_KEY); | COMMENT |
| LOW | …logminer/processor/AbstractLogMinerEventProcessor.java | 941 | } | COMMENT |
| LOW | …atunnel/cdc/mysql/config/MySqlSourceConfigFactory.java | 81 | COMMENT | |
| LOW | …rs/seatunnel/cdc/mysql/source/offset/BinlogOffset.java | 161 | } | COMMENT |
| LOW | …nnectors/seatunnel/cdc/mysql/utils/MySqlTypeUtils.java | 161 | case "TINYINT": | COMMENT |
| LOW | …m/connector/mysql/MySqlStreamingChangeEventSource.java | 281 | } | COMMENT |
| LOW | …io/debezium/connector/mysql/legacy/SnapshotReader.java | 201 | // ------ | COMMENT |
| LOW | …io/debezium/connector/mysql/legacy/SnapshotReader.java | 581 | if (snapshotLockingMode.usesMinimalLocking() && isLocked) { | COMMENT |
| LOW | …/cdc/base/source/enumerator/SnapshotSplitAssigner.java | 201 | public void onCompletedSplits(List<SnapshotSplitWatermark> completedSplitWatermarks) { | COMMENT |
| LOW | …atunnel/shade/com/typesafe/config/impl/PathParser.java | 101 | if (Tokens.isValueWithType(t, ConfigValueType.STRING)) { | COMMENT |
| LOW | tools/check_connector_registration.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one or more | COMMENT |
| LOW | …pgrade_compatibility/run_upgrade_compatibility_test.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …ols/upgrade_compatibility/run_upgrade_compatibility.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …bility/scenarios/generic-fake-localfile/seatunnel.yaml | 1 | # | COMMENT |
| LOW | …lity/scenarios/mysql-cdc-multitable-localfile/setup.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …y/scenarios/mysql-cdc-multitable-localfile/teardown.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …cenarios/mysql-cdc-multitable-localfile/seatunnel.yaml | 1 | # | COMMENT |
| LOW | tools/update_modules_check/test_run_engines.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/update_modules_check/test_update_modules_check.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/update_modules_check/run_engines.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/update_modules_check/test_ci_scope.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/update_modules_check/update_modules_check.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/update_modules_check/update_modules_check.py | 21 | COMMENT | |
| LOW | tools/update_modules_check/check_file_updates.py | 1 | # Licensed to the Apache Software Foundation (ASF) under one or more | COMMENT |
| LOW | tools/update_modules_check/ci_scope.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/dependencies/checkLicense.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/dependencies/license.py | 1 | #!/usr/bin/env python | COMMENT |
| LOW | tools/github/free_disk_space.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/benchmarks/test_save_jmh_result.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/benchmarks/profile_report.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/benchmarks/test_profile_benchmarks.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/benchmarks/run_benchmarks.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/benchmarks/test_regression_report.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/benchmarks/profile_benchmarks.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/benchmarks/test_run_benchmarks.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/benchmarks/regression_report.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/benchmarks/save_jmh_result.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/benchmarks/test_profile_report.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/benchmarks/suites/benchmarks_core.txt | 1 | # Licensed to the Apache Software Foundation (ASF) under one or more | COMMENT |
| LOW | tools/spotless_check/pre-commit.sh | 1 | #!/bin/sh | COMMENT |
| 293 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …tors/bigquery/sink/BigQueryCatalogAndSaveModeTest.java | 334 | // ──────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …tors/bigquery/sink/BigQueryCatalogAndSaveModeTest.java | 336 | // ──────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nel/file/writer/ParquetWriteStrategyEvolutionTest.java | 245 | // ── helpers ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/ParquetTypeCoercionTest.java | 207 | // ── helper ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 114 | // ── Helper to build a NoOpWriteStrategy with a given FileSinkConfig ────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 164 | // ── ADD_COLUMN ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 205 | // ── DROP_COLUMN ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 225 | // ── RENAME_COLUMN (AlterTableChangeColumnEvent) ─────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 252 | // ── UPDATE_COLUMN / MODIFY_COLUMN ───────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 278 | // ── Batch / AlterTableColumnsEvent ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 306 | // ── Disabled flag: applySchemaChange fails fast with actionable message ──────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 321 | // ── finishAndCloseFile called on each schema change ─────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 341 | // ── getFieldSafe bounds check ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 357 | // ── IndexInRow stays consistent after ADD then DROP ─────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 390 | // ── Case-insensitive DROP ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 410 | // ── RENAME with position change ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 457 | // ── beingWrittenFile cleared even when finishAndCloseFile throws ────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 492 | // ── Type-zoo coverage ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 616 | // ── Inner NoOp strategy ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ors/seatunnel/file/writer/FileSchemaEvolutionTest.java | 691 | // ── Config validation ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 236 | // ── Schema Evolution ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | tools/check_connector_registration.py | 53 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/check_connector_registration.py | 56 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/check_connector_registration.py | 79 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/check_connector_registration.py | 81 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/check_connector_registration.py | 169 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/check_connector_registration.py | 171 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/check_connector_registration.py | 237 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/check_connector_registration.py | 239 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | seatunnel-cli/seatunnel_cli/skills.py | 42 | # ─── Data structures ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | seatunnel-cli/seatunnel_cli/skills.py | 128 | # ─── Golden Examples ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | seatunnel-cli/seatunnel_cli/skills.py | 160 | # ─── Plan parser ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | seatunnel-cli/seatunnel_cli/skills.py | 234 | # ─── Slot filling & pipeline expansion ─────────────────────────────────────── | COMMENT |
| MEDIUM | seatunnel-cli/seatunnel_cli/skills.py | 426 | # ─── Scenario Skills (loaded from skills/*.md) ────────────────────────────── | COMMENT |
| MEDIUM | seatunnel-cli/seatunnel_cli/skills.py | 480 | # ─── Skill Router ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | seatunnel-cli/seatunnel_cli/skills.py | 520 | # ─── Skill Executor ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …unnel-trace/seatunnel-trace-analyzer/analyze-traces.sh | 58 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …unnel-trace/seatunnel-trace-analyzer/analyze-traces.sh | 64 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | seatunnel-edge-agent/config/agent.yaml | 16 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | seatunnel-edge-agent/config/agent.yaml | 21 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | seatunnel-cli/benchmark/runner.py | 365 | except Exception: | CODE |
| HIGH | seatunnel-cli/benchmark/execution.py | 270 | except OSError: | CODE |
| HIGH | seatunnel-cli/benchmark/execution.py | 330 | except OSError: | CODE |
| HIGH | seatunnel-cli/benchmark/execution.py | 363 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/connectors.py | 99 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/memory.py | 323 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/memory.py | 148 | except OSError: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/memory.py | 245 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 211 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 223 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 423 | except ImportError: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 1229 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 520 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 469 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 663 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 499 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/cli.py | 318 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/cli.py | 331 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/cli.py | 270 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/cli.py | 290 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/cli.py | 382 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/cli.py | 1382 | except Exception: | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/llm_provider.py | 1367 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | seatunnel-cli/tests/test_validate_hocon_placeholders.py | 0 | env { parallelism = 1 job.mode = "batch" } source { fakesource { row.num = 5 schema { fields { id = "bigint" } } plugin_ | STRING |
| HIGH | seatunnel-cli/tests/test_benchmark_gates.py | 0 | env { parallelism = 1 job.mode = "batch" } source { fakesource { row.num = 5 schema { fields { id = "bigint" } } plugin_ | STRING |
| HIGH | seatunnel-cli/tests/test_benchmark_comparison.py | 0 | env { parallelism = 1 job.mode = "batch" } source { fakesource { row.num = 5 schema { fields { id = "bigint" } } plugin_ | STRING |
| HIGH | docs/zh/connectors/formats/protobuf.md | 0 | syntax = "proto3"; package org.apache.seatunnel.format.protobuf; option java_outer_classname = "protobufe2e"; message pe | STRING |
| HIGH | docs/zh/connectors/source/Kafka.md | 0 | syntax = "proto3"; package org.apache.seatunnel.format.protobuf; option java_outer_classname = "protobufe2e"; message pe | STRING |
| HIGH | docs/zh/connectors/sink/Kafka.md | 0 | syntax = "proto3"; package org.apache.seatunnel.format.protobuf; option java_outer_classname = "protobufe2e"; message pe | STRING |
| HIGH | docs/en/connectors/formats/protobuf.md | 0 | syntax = "proto3"; package org.apache.seatunnel.format.protobuf; option java_outer_classname = "protobufe2e"; message pe | STRING |
| HIGH | docs/en/connectors/source/Kafka.md | 0 | syntax = "proto3"; package org.apache.seatunnel.format.protobuf; option java_outer_classname = "protobufe2e"; message pe | STRING |
| HIGH | docs/en/connectors/sink/Kafka.md | 0 | syntax = "proto3"; package org.apache.seatunnel.format.protobuf; option java_outer_classname = "protobufe2e"; message pe | STRING |
| HIGH | docs/zh/connectors/source/Kafka.md | 0 | com.sun.security.auth.module.krb5loginmodule required usekeytab=true keytab="/etc/kafka/kafka.keytab" principal="user@re | STRING |
| HIGH | docs/zh/connectors/sink/Kafka.md | 0 | com.sun.security.auth.module.krb5loginmodule required usekeytab=true keytab="/etc/kafka/kafka.keytab" principal="user@re | STRING |
| HIGH | docs/en/connectors/source/Kafka.md | 0 | com.sun.security.auth.module.krb5loginmodule required usekeytab=true keytab="/etc/kafka/kafka.keytab" principal="user@re | STRING |
| HIGH | docs/en/connectors/sink/Kafka.md | 0 | com.sun.security.auth.module.krb5loginmodule required usekeytab=true keytab="/etc/kafka/kafka.keytab" principal="user@re | STRING |
| HIGH | docs/zh/connectors/source/Rabbitmq.md | 0 | syntax = "proto3"; message person { int64 id = 1; string name = 2; } | STRING |
| HIGH | docs/zh/connectors/sink/Rabbitmq.md | 0 | syntax = "proto3"; message person { int64 id = 1; string name = 2; } | STRING |
| HIGH | docs/en/connectors/source/Rabbitmq.md | 0 | syntax = "proto3"; message person { int64 id = 1; string name = 2; } | STRING |
| HIGH | docs/en/connectors/sink/Rabbitmq.md | 0 | syntax = "proto3"; message person { int64 id = 1; string name = 2; } | STRING |
| HIGH | docs/zh/connectors/sink/StarRocks.md | 0 | create table if not exists shop.`${table_name}` ( ${rowtype_primary_key}, ${rowtype_fields} ) engine=olap primary key ($ | STRING |
| HIGH | docs/zh/introduction/configuration/schema-evolution.md | 0 | create table if not exists shop.`${table_name}` ( ${rowtype_primary_key}, ${rowtype_fields} ) engine=olap primary key ($ | STRING |
| HIGH | docs/en/connectors/sink/StarRocks.md | 0 | create table if not exists shop.`${table_name}` ( ${rowtype_primary_key}, ${rowtype_fields} ) engine=olap primary key ($ | STRING |
| HIGH | docs/en/introduction/configuration/schema-evolution.md | 0 | create table if not exists shop.`${table_name}` ( ${rowtype_primary_key}, ${rowtype_fields} ) engine=olap primary key ($ | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 254 | // Step 1: flush + close all open writers; register partial files for commit. | COMMENT |
| LOW | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 265 | // Step 2: adopt the upstream's actual produced schema, propagated through the chain via | COMMENT |
| LOW⚡ | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 281 | // Step 3: update sinkColumnNames to reflect the structural change. | COMMENT |
| LOW⚡ | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 289 | // Step 4: rebuild sinkColumnsIndexInRow from sinkColumnNames + new seaTunnelRowType. | COMMENT |
| LOW⚡ | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 297 | // Step 5: let subclasses invalidate any format-specific cached schema objects. | COMMENT |
| LOW⚡ | seatunnel-cli/seatunnel_cli/skills.py | 536 | # Step 1: Fill routing labels / defaults for each pipeline | COMMENT |
| LOW⚡ | seatunnel-cli/seatunnel_cli/skills.py | 540 | # Step 2: Collect all required options across pipelines (deduplicated) | COMMENT |
| LOW | seatunnel-cli/seatunnel_cli/skills.py | 553 | # Step 3: Single LLM call (fast model) to judge what's missing | COMMENT |
| LOW | docs/en/edge-agent/quick-start.md | 19 | ## Step 1: Install Edge Agent on the edge host | COMMENT |
| LOW | docs/en/edge-agent/download.md | 8 | ## Step 1: Preparation | COMMENT |
| LOW | docs/en/edge-agent/download.md | 18 | ## Step 2: Download the binary package | COMMENT |
| LOW | docs/en/edge-agent/download.md | 41 | ## Step 3: Build from source | COMMENT |
| LOW | docs/en/edge-agent/download.md | 65 | ## Step 4: Verify package layout | COMMENT |
| LOW | docs/en/introduction/concepts/metadata-spi.md | 274 | ### Step 1: Add Dependency | COMMENT |
| LOW | docs/en/introduction/concepts/metadata-spi.md | 289 | ### Step 2: Create a Provider Class | COMMENT |
| LOW⚡ | docs/en/introduction/concepts/metadata-spi.md | 339 | ### Step 3: Configure seatunnel.yaml | COMMENT |
| LOW⚡ | docs/en/introduction/concepts/metadata-spi.md | 352 | ### Step 4: Package and Deploy | COMMENT |
| LOW⚡ | docs/en/getting-started/locally/quick-start-flink.md | 17 | ## Step 1: Deploy SeaTunnel And Connectors | COMMENT |
| LOW⚡ | docs/en/getting-started/locally/quick-start-flink.md | 21 | ## Step 2: Deployment And Config Flink | COMMENT |
| LOW⚡ | docs/en/getting-started/locally/quick-start-flink.md | 27 | ## Step 3: Add Job Config File To Define A Job | COMMENT |
| LOW | docs/en/getting-started/locally/quick-start-flink.md | 77 | ## Step 4: Run SeaTunnel Application | COMMENT |
| LOW | …etting-started/locally/quick-start-seatunnel-engine.md | 45 | ### Step 1: Deploy SeaTunnel And Connectors | COMMENT |
| LOW | …etting-started/locally/quick-start-seatunnel-engine.md | 51 | ### Step 2: Add Job Config File To Define A Job | COMMENT |
| LOW | …etting-started/locally/quick-start-seatunnel-engine.md | 96 | ### Step 3: Run SeaTunnel Application | COMMENT |
| LOW | …etting-started/locally/quick-start-seatunnel-engine.md | 146 | #### Step 1: Download the Connector | COMMENT |
| LOW | …etting-started/locally/quick-start-seatunnel-engine.md | 163 | #### Step 2: Place the MySQL Driver | COMMENT |
| LOW | …etting-started/locally/quick-start-seatunnel-engine.md | 167 | #### Step 3: Add Job Configuration File to Define the Job | COMMENT |
| LOW | …etting-started/locally/quick-start-seatunnel-engine.md | 209 | #### Step 4: Run the SeaTunnel Application | COMMENT |
| LOW | docs/en/getting-started/locally/run-your-first-job.md | 10 | ## Step 1: Finish local deployment | COMMENT |
| LOW | docs/en/getting-started/locally/run-your-first-job.md | 14 | ## Step 2: Install only the plugins this sample needs | COMMENT |
| LOW | docs/en/getting-started/locally/run-your-first-job.md | 33 | ## Step 3: Use a minimal job | COMMENT |
| LOW | docs/en/getting-started/locally/run-your-first-job.md | 74 | ## Step 4: Run it in local mode | COMMENT |
| LOW⚡ | docs/en/getting-started/locally/quick-start-spark.md | 17 | ## Step 1: Deployment SeaTunnel And Connectors | COMMENT |
| LOW⚡ | docs/en/getting-started/locally/quick-start-spark.md | 21 | ## Step 2: Deploy And Config Spark | COMMENT |
| LOW⚡ | docs/en/getting-started/locally/quick-start-spark.md | 28 | ## Step 3: Add Job Config File To Define A Job | COMMENT |
| LOW | docs/en/getting-started/locally/quick-start-spark.md | 78 | ## Step 4: Run SeaTunnel Application | COMMENT |
| LOW | docs/en/engines/zeta/stain-trace-quickstart.md | 107 | ### Step 1: Configure Engine | COMMENT |
| LOW | docs/en/engines/zeta/stain-trace-quickstart.md | 134 | ### Step 2: Enable Task-level Switch | COMMENT |
| LOW⚡ | docs/en/engines/zeta/stain-trace-quickstart.md | 162 | ### Step 3: Run Your Job | COMMENT |
| LOW⚡ | docs/en/engines/zeta/stain-trace-quickstart.md | 166 | ### Step 4: View Trace Files | COMMENT |
| LOW⚡ | docs/en/engines/zeta/stain-trace-quickstart.md | 176 | ### Step 5: Generate HTML Report Using Analysis Tool | COMMENT |
| LOW | docs/en/engines/zeta/tuning-guide.md | 168 | #### Step 1: Identify when slow operations occur | COMMENT |
| LOW | docs/en/engines/zeta/tuning-guide.md | 180 | #### Step 2: Check overall node health | COMMENT |
| LOW | docs/en/engines/zeta/tuning-guide.md | 189 | #### Step 3: Isolate the bottleneck layer | COMMENT |
| LOW | docs/en/engines/zeta/download-seatunnel.md | 10 | ## Step 1: Preparation | COMMENT |
| LOW | docs/en/engines/zeta/download-seatunnel.md | 16 | ## Step 2: Download SeaTunnel | COMMENT |
| LOW | docs/en/engines/zeta/download-seatunnel.md | 28 | ## Step 3: Download The Connector Plugin | COMMENT |
| LOW | docs/en/engines/zeta/download-seatunnel.md | 71 | ## Step 4: seatunnel-shade jar package download address | COMMENT |
| LOW | …slation/flink/sink/FlinkSimpleAggregatedCommitter.java | 117 | // Step 1: Combine commits into global commit with schema evolution support | COMMENT |
| LOW | …slation/flink/sink/FlinkSimpleAggregatedCommitter.java | 136 | // Step 2: Commit the global commit | COMMENT |
| LOW⚡ | …el/e2e/connector/iceberg/JdbcToIcebergTimestampIT.java | 179 | // Step 1: Run job to write data from MySQL to Iceberg | COMMENT |
| LOW⚡ | …el/e2e/connector/iceberg/JdbcToIcebergTimestampIT.java | 185 | // Step 2: Run verification job (Iceberg -> Assert) | COMMENT |
| LOW⚡ | …el/e2e/connector/iceberg/JdbcToIcebergTimestampIT.java | 202 | // Step 1: Run job to write data from PostgreSQL to Iceberg | COMMENT |
| LOW⚡ | …el/e2e/connector/iceberg/JdbcToIcebergTimestampIT.java | 208 | // Step 2: Run verification job (Iceberg -> Assert) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …tors/seatunnel/salesforce/sink/SalesforceSinkTest.java | 94 | options.put("username", "user@example.com"); | CODE |
| LOW | …ctors/seatunnel/fake/source/FakeDataGeneratorTest.java | 97 | @ValueSource(strings = {"fake-data.schema.conf"}) | CODE |
| LOW | …ctors/seatunnel/fake/source/FakeDataGeneratorTest.java | 129 | @ValueSource(strings = {"fake-data.schema.conf"}) | CODE |
| LOW | …ctors/seatunnel/fake/source/FakeDataGeneratorTest.java | 178 | @ValueSource(strings = {"fake-data.column.conf"}) | CODE |
| LOW | …ctors/seatunnel/fake/source/FakeDataGeneratorTest.java | 241 | @ValueSource(strings = {"fake-data.schema.default.conf"}) | CODE |
| LOW | …eatunnel/firebase/source/FirebaseSourceReaderTest.java | 398 | assertEquals("Jane Doe", row.getField(0)); | CODE |
| LOW | …/seatunnel/firebase/client/FirebaseHttpClientTest.java | 78 | queryParams.put("equalTo", "John Doe"); | CODE |
| LOW | …/seatunnel/firebase/client/FirebaseHttpClientTest.java | 86 | // Asserts values are quote-wrapped ("name", "John Doe") and percent-encoded (%22) | COMMENT |
| LOW | …nnel/file/config/BaseFileSourceConfigMetadataTest.java | 124 | new String[] {"placeholder"}, | CODE |
| LOW | …nnel/file/config/BaseFileSourceConfigMetadataTest.java | 140 | new String[] {"placeholder"}, | CODE |
| LOW | …ynamodb/source/AmazonDynamoDBMultiTableSourceTest.java | 69 | + "access_key_id = \"dummy-key\"\n" | CODE |
| LOW | …sform/validator/DataValidatorTransformFactoryTest.java | 341 | SeaTunnelRow validRow = map(transform, tablePath, 1, "John Doe", 18, "jane@example.com"); | CODE |
| LOW | …g/apache/seatunnel/transform/sql/SQLTransformTest.java | 1054 | Assertions.assertEquals("John Doe", result.get(0).getField(0)); | CODE |
| LOW | …he/seatunnel/transform/sql/SQLStringFunctionsTest.java | 89 | Assertions.assertEquals("John Doe", outRow.getField(1)); | CODE |
| LOW | …he/seatunnel/transform/sql/SQLStringFunctionsTest.java | 108 | Assertions.assertEquals("John Doe", outRow.getField(0)); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 94 | userData.put("address", "123 Main St"); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 107 | Assertions.assertEquals("123 Main St", outRow.getField(0)); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 174 | SeaTunnelRow innerRow = new SeaTunnelRow(new Object[] {"123 Main St", "New York"}); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 183 | Assertions.assertEquals("123 Main St", outRow.getField(0)); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 204 | SeaTunnelRow addressRow = new SeaTunnelRow(new Object[] {"123 Main St", "10001"}); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 205 | SeaTunnelRow userRow = new SeaTunnelRow(new Object[] {"John Doe", addressRow}); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 217 | Assertions.assertEquals("123 Main St", outRow.getField(0)); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 218 | Assertions.assertEquals("John Doe", outRow.getField(1)); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 233 | userData.put("name", "John Doe"); | CODE |
| LOW | …nel/transform/sql/zeta/functions/CastFunctionTest.java | 243 | Assertions.assertEquals("John Doe", outRow.getField(0)); | CODE |
| LOW | docs/zh/connectors/source/Jira.md | 105 | email = "admin@example.com" | CODE |
| LOW | docs/zh/connectors/source/AmazonDynamoDB.md | 174 | access_key_id = "dummy-key" | CODE |
| LOW | docs/zh/connectors/source/AmazonDynamoDB.md | 206 | access_key_id = "dummy-key" | CODE |
| LOW | docs/zh/connectors/source/AmazonDynamoDB.md | 228 | access_key_id = "dummy-key" | CODE |
| LOW | …cs/zh/connectors/common-options/sink-common-options.md | 53 | plugin_output = "fake_name" | CODE |
| LOW | …cs/zh/connectors/common-options/sink-common-options.md | 64 | plugin_input = "fake_name" | CODE |
| LOW | docs/zh/connectors/sink/AmazonDynamoDB.md | 135 | access_key_id = "dummy-key" | CODE |
| LOW | docs/zh/connectors/sink/AmazonDynamoDB.md | 165 | access_key_id = "dummy-key" | CODE |
| LOW | docs/en/connectors/source/Jira.md | 105 | email = "admin@example.com" | CODE |
| LOW | docs/en/connectors/source/AmazonDynamoDB.md | 180 | access_key_id = "dummy-key" | CODE |
| LOW | docs/en/connectors/source/AmazonDynamoDB.md | 212 | access_key_id = "dummy-key" | CODE |
| LOW | docs/en/connectors/source/AmazonDynamoDB.md | 235 | access_key_id = "dummy-key" | CODE |
| LOW | …cs/en/connectors/common-options/sink-common-options.md | 61 | plugin_output = "fake_name" | CODE |
| LOW | …cs/en/connectors/common-options/sink-common-options.md | 72 | plugin_input = "fake_name" | CODE |
| LOW | docs/en/connectors/sink/Hive.md | 595 | fields = [1, "John Doe", "Engineering", 75000.50, "2022-01-15"] | CODE |
| LOW | docs/en/connectors/sink/AmazonDynamoDB.md | 135 | access_key_id = "dummy-key" | CODE |
| LOW | docs/en/connectors/sink/AmazonDynamoDB.md | 165 | access_key_id = "dummy-key" | CODE |
| LOW | …trace-analyzer/src/main/resources/template/report.html | 909 | if (typeof I18N[lang][key] === 'string') el.setAttribute('placeholder', I18N[lang][key]); | CODE |
| LOW | …org/apache/seatunnel/common/exception/CommonError.java | 231 | params.put("placeholder", placeholder); | CODE |
| LOW | …onnector-starrocks-e2e/src/test/resources/ddl/shop.sql | 78 | ( 1, 'John Doe', 'john@example.com', '123-456-7890', '123 Main St' ), | CODE |
| LOW | …onnector-starrocks-e2e/src/test/resources/ddl/shop.sql | 78 | ( 1, 'John Doe', 'john@example.com', '123-456-7890', '123 Main St' ), | CODE |
| LOW | …nel/e2e/connector/amazondynamodb/AmazondynamodbIT.java | 162 | AwsBasicCredentials.create("dummy-key", "dummy-secret"))) | CODE |
| LOW | …c/test/resources/elasticsearch/st_index_nest_data.json | 2 | "name": "John Doe", | CODE |
| LOW | …c/test/resources/elasticsearch/st_index_nest_data.json | 5 | "street": "123 Main St", | CODE |
| LOW | …t/resources/elasticsearch/st_index_full_type_data.json | 135 | "name": "John Doe", | CODE |
| LOW⚡ | …tor-http-e2e/src/test/resources/mockserver-config.json | 4232 | "email": "avo@example.org" | CODE |
| LOW⚡ | …tor-http-e2e/src/test/resources/mockserver-config.json | 4242 | "email": "TaoZex@example.org" | CODE |
| LOW⚡ | …tor-http-e2e/src/test/resources/mockserver-config.json | 4252 | "email": "test@example.org" | CODE |
| LOW⚡ | …tor-http-e2e/src/test/resources/mockserver-config.json | 4262 | "email": "Jack@example.org" | CODE |
| LOW⚡ | …tor-http-e2e/src/test/resources/mockserver-config.json | 4272 | "email": "Lisa@example.org" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …src/main/resources/python_transform/worker_template.py | 71 | except Exception: | CODE |
| LOW | seatunnel-cli/benchmark/runner.py | 289 | except Exception as e: | CODE |
| LOW | seatunnel-cli/benchmark/runner.py | 328 | except Exception as e: | CODE |
| LOW | seatunnel-cli/benchmark/runner.py | 346 | except Exception: | CODE |
| LOW | seatunnel-cli/benchmark/runner.py | 365 | except Exception: | CODE |
| LOW | seatunnel-cli/benchmark/runner.py | 412 | except Exception as e: | CODE |
| LOW | seatunnel-cli/benchmark/runner.py | 441 | except Exception: | CODE |
| LOW | seatunnel-cli/benchmark/execution.py | 360 | except Exception: | CODE |
| LOW | seatunnel-cli/benchmark/execution.py | 363 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 99 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 112 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 141 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 343 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 529 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/skills.py | 369 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/skills.py | 475 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 145 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 245 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 295 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 323 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 373 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 561 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 623 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/rest.py | 105 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 211 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 223 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 425 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 469 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 499 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 520 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 658 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 663 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 1229 | except Exception: | STRING |
| MEDIUM | seatunnel-cli/seatunnel_cli/cli.py | 1860 | print("Error: Failed to export metadata. " | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 270 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 290 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 318 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 331 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 382 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 499 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 688 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 787 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 923 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1013 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1211 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1225 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1353 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1382 | except Exception: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1525 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1575 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1648 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1719 | except Exception as e: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 1367 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/update_modules_check/update_modules_check.py | 174 | CODE | |
| LOW | tools/update_modules_check/update_modules_check.py | 187 | CODE | |
| LOW | tools/update_modules_check/update_modules_check.py | 334 | CODE | |
| LOW | tools/update_modules_check/check_file_updates.py | 22 | CODE | |
| LOW | tools/documents/update_connector_change_log.py | 24 | CODE | |
| LOW | tools/documents/update_connector_change_log.py | 105 | CODE | |
| LOW | tools/seatunnel-python-sdk/tests/test_java_detector.py | 143 | CODE | |
| LOW | tools/seatunnel-python-sdk/tests/test_java_detector.py | 249 | CODE | |
| LOW | seatunnel-cli/benchmark/runner.py | 371 | CODE | |
| LOW | seatunnel-cli/benchmark/execution.py | 274 | CODE | |
| LOW | seatunnel-cli/benchmark/execution.py | 347 | CODE | |
| LOW | seatunnel-cli/benchmark/execution.py | 367 | CODE | |
| LOW | seatunnel-cli/benchmark/scoring.py | 84 | CODE | |
| LOW | seatunnel-cli/benchmark/compare.py | 47 | CODE | |
| LOW | seatunnel-cli/benchmark/compare.py | 197 | CODE | |
| LOW | seatunnel-cli/benchmark/report.py | 239 | CODE | |
| LOW | seatunnel-cli/benchmark/report.py | 285 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 318 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 350 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 583 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 670 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 1184 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 1213 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/skills.py | 210 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/skills.py | 530 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 175 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 566 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 153 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 278 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 343 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 397 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 1205 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 1369 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 1488 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 1581 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 1684 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 1748 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 507 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 899 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1003 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1114 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 1389 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 1384 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 174 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 413 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 528 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 599 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 657 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 758 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 809 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 1024 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 1101 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 1170 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/diagnostics/checkpoints.py | 295 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/diagnostics/jobs.py | 199 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | seatunnel-cli/tests/test_diagnose_checkpoints.py | 26 | `durationMillis` (the field is omitted when null); | STRING |
| HIGH | seatunnel-cli/tests/test_benchmark_paraphrases.py | 211 | '{"paraphrases": [null]}', | STRING |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 775 | "transform": null, | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 796 | "transform": null, | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 804 | "transform": null, | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 928 | {"id": "pipeline_1", "source": {"connector": "Jdbc", "reason": "MySQL via JDBC — batch full-table read"}, "sink": {" | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 943 | {"id": "pipeline_1", "source": {"connector": "MySQL-CDC", "reason": "real-time change data capture"}, "sink": {"conn | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 958 | {"id": "pipeline_1", "source": {"connector": "Jdbc", "reason": "MySQL JDBC for audit_log and orders"}, "sink": {"con | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/agents.py | 959 | {"id": "pipeline_2", "source": {"connector": "Jdbc", "reason": "MySQL JDBC for users"}, "sink": {"connector": "Asser | CODE |
| HIGH | seatunnel-cli/seatunnel_cli/diagnostics/checkpoints.py | 155 | ``completedTimestamp`` are omitted from the JSON when null, while | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 254 | // Step 1: flush + close all open writers; register partial files for commit. | COMMENT |
| LOW | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 265 | // Step 2: adopt the upstream's actual produced schema, propagated through the chain via | COMMENT |
| LOW⚡ | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 281 | // Step 3: update sinkColumnNames to reflect the structural change. | COMMENT |
| LOW⚡ | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 289 | // Step 4: rebuild sinkColumnsIndexInRow from sinkColumnNames + new seaTunnelRowType. | COMMENT |
| LOW⚡ | …/seatunnel/file/sink/writer/AbstractWriteStrategy.java | 297 | // Step 5: let subclasses invalidate any format-specific cached schema objects. | COMMENT |
| LOW⚡ | seatunnel-cli/seatunnel_cli/skills.py | 536 | # Step 1: Fill routing labels / defaults for each pipeline | COMMENT |
| LOW⚡ | seatunnel-cli/seatunnel_cli/skills.py | 540 | # Step 2: Collect all required options across pipelines (deduplicated) | COMMENT |
| LOW | seatunnel-cli/seatunnel_cli/skills.py | 553 | # Step 3: Single LLM call (fast model) to judge what's missing | COMMENT |
| LOW | …slation/flink/sink/FlinkSimpleAggregatedCommitter.java | 117 | // Step 1: Combine commits into global commit with schema evolution support | COMMENT |
| LOW | …slation/flink/sink/FlinkSimpleAggregatedCommitter.java | 136 | // Step 2: Commit the global commit | COMMENT |
| LOW⚡ | …el/e2e/connector/iceberg/JdbcToIcebergTimestampIT.java | 179 | // Step 1: Run job to write data from MySQL to Iceberg | COMMENT |
| LOW⚡ | …el/e2e/connector/iceberg/JdbcToIcebergTimestampIT.java | 185 | // Step 2: Run verification job (Iceberg -> Assert) | COMMENT |
| LOW⚡ | …el/e2e/connector/iceberg/JdbcToIcebergTimestampIT.java | 202 | // Step 1: Run job to write data from PostgreSQL to Iceberg | COMMENT |
| LOW⚡ | …el/e2e/connector/iceberg/JdbcToIcebergTimestampIT.java | 208 | // Step 2: Run verification job (Iceberg -> Assert) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/zh/introduction/rag-data-processing.md | 1 | # RAG Ready 数据处理 | COMMENT |
| MEDIUM | docs/zh/introduction/rag-data-processing.md | 5 | ## 为什么 RAG 需要一条数据管道 | COMMENT |
| MEDIUM | docs/zh/transforms/embedding.md | 642 | ### Customize the embedding model | COMMENT |
| MEDIUM | docs/en/introduction/rag-data-processing.md | 1 | # RAG-Ready Data Processing | COMMENT |
| MEDIUM | docs/en/introduction/rag-data-processing.md | 5 | ## Why a data pipeline matters for RAG | COMMENT |
| MEDIUM | docs/en/introduction/rag-data-processing.md | 175 | ### Which embedding model providers are supported? | COMMENT |
| MEDIUM | docs/en/transforms/embedding.md | 662 | ### Customize the embedding model | COMMENT |
| MEDIUM | …he/seatunnel/e2e/connector/file/local/LocalFileIT.java | 357 | "mkdir -p /seatunnel/read/markdown && printf '# E2E Markdown RAG\\n## Child\\nBody\\n' > /seatun | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/zh/introduction/concepts/metadata-spi.md | 348 | api-key: your-api-key | CODE |
| HIGH | docs/zh/transforms/embedding.md | 474 | api_key = "your-api-key" | CODE |
| HIGH⚡ | docs/en/introduction/concepts/metadata-spi.md | 349 | api-key: your-api-key | CODE |
| HIGH | docs/en/transforms/embedding.md | 494 | api_key = "your-api-key" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/seatunnel-python-sdk/seatunnel/__init__.py | 17 | CODE | |
| LOW | tools/seatunnel-python-sdk/seatunnel/__init__.py | 18 | CODE | |
| LOW | tools/seatunnel-python-sdk/seatunnel/__init__.py | 19 | CODE | |
| LOW | tools/seatunnel-python-sdk/seatunnel/__init__.py | 19 | CODE | |
| LOW | tools/seatunnel-python-sdk/seatunnel/__init__.py | 19 | CODE | |
| LOW | seatunnel-cli/benchmark/runner.py | 43 | CODE | |
| LOW | seatunnel-cli/benchmark/execution.py | 45 | CODE | |
| LOW | seatunnel-cli/benchmark/scoring.py | 36 | CODE | |
| LOW | seatunnel-cli/benchmark/compare.py | 20 | CODE | |
| LOW | seatunnel-cli/benchmark/report.py | 33 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 40 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/skills.py | 28 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 32 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 28 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 36 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 40 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 33 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/diagnostics/__init__.py | 20 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/diagnostics/__init__.py | 20 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/diagnostics/checkpoints.py | 46 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/diagnostics/jobs.py | 40 | CODE | |
| LOW | seatunnel-cli/seatunnel_cli/diagnostics/errors.py | 32 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/seatunnel-python-sdk/seatunnel/__init__.py | 25 | __all__ = [ | CODE |
| LOW | seatunnel-cli/seatunnel_cli/connectors.py | 47 | logger = logging.getLogger(__name__) | CODE |
| LOW | seatunnel-cli/seatunnel_cli/skills.py | 40 | logger = logging.getLogger(__name__) | CODE |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 47 | logger = logging.getLogger(__name__) | CODE |
| LOW | seatunnel-cli/seatunnel_cli/memory.py | 312 | def update_summary(self, summary: str) -> None: | CODE |
| LOW | seatunnel-cli/seatunnel_cli/rest.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 49 | logger = logging.getLogger(__name__) | CODE |
| LOW | seatunnel-cli/seatunnel_cli/cli.py | 47 | logger = logging.getLogger(__name__) | CODE |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 43 | logger = logging.getLogger(__name__) | CODE |
| LOW | seatunnel-cli/seatunnel_cli/diagnostics/__init__.py | 22 | __all__ = ["ParsedError", "parse_error"] | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …nnel-starter/src/main/bin/seatunnel-metadata-export.sh | 22 | # Usage: | COMMENT |
| LOW | seatunnel-cli/bin/seatunnel-ai.sh | 21 | # Usage: | COMMENT |
| LOW | …unnel-trace/seatunnel-trace-analyzer/analyze-traces.sh | 21 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | seatunnel-cli/seatunnel_cli/agents.py | 259 | # Check if any trigger condition matches | COMMENT |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 820 | # Check if this message contains tool results | COMMENT |
| LOW | seatunnel-cli/seatunnel_cli/llm_provider.py | 835 | # Check if this message contains tool use (assistant with tool calls) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ctors/seatunnel/hive/utils/HiveTableTemplateUtils.java | 133 | // This is a basic implementation - could be enhanced for more complex cases | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | seatunnel-cli/benchmark/runner.py | 434 | # Per-task boundary: an unexpected harness error (scoring | COMMENT |