{"record":{"id":"cba06d652b1c629c","repo":"apache/seatunnel","slug":"mysql-cdc-diagnostic-status-empty-unsupported","errorCode":null,"errorMessage":"MySQL-CDC diagnostic: {} status empty/unsupported","messagePattern":"MySQL-CDC diagnostic: (.+?) status empty/unsupported","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","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":590,"sourceCode":"                                        safeGetString(rs, \"Exec_Master_Log_Pos\"),\n                                        safeGetString(rs, \"Read_Master_Log_Pos\"));\n                        String retrievedGtidSet = safeGetString(rs, \"Retrieved_Gtid_Set\");\n                        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;","sourceCodeStart":572,"sourceCodeEnd":608,"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#L572-L608","documentation":"This is a WARN-level diagnostic message, not a fatal error. When the MySQL-CDC connector runs a replication-status diagnostic query (e.g. SHOW SLAVE STATUS / SHOW REPLICA STATUS / SHOW MASTER STATUS), if the query returns no usable columns for the given label, the connector logs that the server's status output was empty or the statement is unsupported by that server/version, and continues normally.","triggerScenarios":"logReplicationStatus executes a status SQL statement during logMySqlReplicationStatus diagnostics; every fetched column is null or filtered out so the result row is empty — e.g. SHOW SLAVE STATUS on a server that is not a replica, or an older/newer MySQL/MariaDB variant that does not expose the expected columns.","commonSituations":"Running CDC diagnostics against a non-replica MySQL instance; MariaDB or MySQL 8.0.22+ where SLAVE STATUS was renamed to REPLICA STATUS and older column names are absent; connecting through a proxy that strips session status; diagnostics invoked on the wrong node of a replicated topology.","solutions":["No action strictly required — this is informational; replication continues.","Verify you connected to the intended MySQL instance and that it has the role the diagnostic assumes (replica vs master).","Check server version/variant; run the underlying SHOW SLAVE/REPLICA STATUS manually to confirm which columns exist.","If diagnostics are noisy and not useful, upgrade the connector or adjust configuration that triggers the diagnostic dump."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// before starting CDC, confirm the server answers the status statement with data\nSHOW REPLICA STATUS; -- or SHOW SLAVE STATUS on older servers\n-- expect non-empty Replica_IO_Running / Retrieved_Gtid_Set etc.","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Confirm the MySQL instance role (master vs replica) before interpreting diagnostics.","Test SHOW SLAVE/REPLICA STATUS manually with the CDC credentials.","Account for server variant (MariaDB vs MySQL, old vs new naming).","Treat this WARN as informational, not a failure."],"tags":["mysql","cdc","diagnostics","logging"],"backgroundTag":"empty-result-set","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"}