{"record":{"id":"4ab852e52c25e324","repo":"apache/seatunnel","slug":"mysql-cdc-diagnostic-status","errorCode":null,"errorMessage":"MySQL-CDC diagnostic: {} status {}","messagePattern":"MySQL-CDC diagnostic: (.+?) status (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"seatunnel-connectors-v2/connector-cdc/connector-cdc-mysql/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mysql/source/reader/fetch/MySqlSourceFetchTaskContext.java","lineNumber":593,"sourceCode":"                        String executedGtidSet = safeGetString(rs, \"Executed_Gtid_Set\");\n\n                        row.add(\"source_host=\" + sourceHost);\n                        row.add(\"io_running=\" + ioRunning);\n                        row.add(\"sql_running=\" + sqlRunning);\n                        row.add(\"relay_master_log_file=\" + relayMasterLogFile);\n                        row.add(\"exec_master_log_pos=\" + execMasterLogPos);\n                        if (retrievedGtidSet != null) {\n                            row.add(\"retrieved_gtid_set=\" + retrievedGtidSet);\n                        }\n                        if (executedGtidSet != null) {\n                            row.add(\"executed_gtid_set=\" + executedGtidSet);\n                        }\n                    });\n            if (row.isEmpty()) {\n                LOG.warn(\"MySQL-CDC diagnostic: {} status empty/unsupported\", label);\n                return true;\n            }\n            LOG.warn(\"MySQL-CDC diagnostic: {} status {}\", label, String.join(\", \", row));\n            return true;\n        } catch (SQLException e) {\n            LOG.warn(\"MySQL-CDC diagnostic: {} failed: {}\", sql, e.getMessage());\n            return false;\n        }\n    }\n\n    private void logBinlogRangeAnalysis(\n            String requiredBinlogFilename, List<String> availableBinlogFiles) {\n        BinlogFileNumber required = parseBinlogFileNumber(requiredBinlogFilename);\n        if (required == null) {\n            return;\n        }\n\n        long min = Long.MAX_VALUE;\n        long max = Long.MIN_VALUE;\n        boolean any = false;\n        for (String file : availableBinlogFiles) {","sourceCodeStart":575,"sourceCodeEnd":611,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-cdc/connector-cdc-mysql/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mysql/source/reader/fetch/MySqlSourceFetchTaskContext.java#L575-L611","documentation":"This is the success branch of the same diagnostic: the connector successfully read MySQL replication status (e.g. SHOW SLAVE/REPLICA STATUS or SHOW MASTER STATUS) and logs the collected key=value pairs at WARN level to make them visible in logs. It is not a failure; it is a deliberately loud diagnostic dump used when binlog positioning problems are suspected.","triggerScenarios":"logMySqlReplicationStatus triggers logReplicationStatus, the status SQL executes without SQLException, and at least one status column was non-empty, producing a joined row like 'slave_io_running=Yes, executed_gtid_set=...'","commonSituations":"Engineers enabling/inspecting MySQL-CDC diagnostics while troubleshooting 'binlog not available' or offset-restore failures; the WARN level is intentional so the snapshot appears alongside the failure investigation.","solutions":["Nothing to fix — treat the logged key=value pairs as diagnostic data.","Use the logged values (e.g. executed_gtid_set, master_log_file/pos) to correlate with the connector's required offset.","Lower log noise in normal operation by not enabling diagnostic mode unless troubleshooting."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"SHOW MASTER STATUS; SHOW REPLICA STATUS; -- confirm outputs match the logged diagnostic row","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use the logged key=value pairs when investigating binlog issues instead of guessing.","Enable diagnostics only during troubleshooting to avoid log noise.","Correlate executed_gtid_set / log file+pos with the job's saved offsets."],"tags":["mysql","cdc","diagnostics","logging"],"backgroundTag":"unexpected-response-shape","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}