apache/seatunnel · warning
MySQL-CDC diagnostic: SHOW MASTER STATUS returned empty resu
Error message
MySQL-CDC diagnostic: SHOW MASTER STATUS returned empty result
What it means
Diagnostic WARN from logMySqlMasterStatus: the SHOW MASTER STATUS query returned an empty result set, meaning the server currently has no active binlog (binlogging disabled or no events written yet). This explains why a restored binlog filename/position cannot be matched to the server's current binlog state.
Source
Thrown at seatunnel-connectors-v2/connector-cdc/connector-cdc-mysql/src/main/java/org/apache/seatunnel/connectors/seatunnel/cdc/mysql/source/reader/fetch/MySqlSourceFetchTaskContext.java:519
"MySQL-CDC diagnostic: variable {}={}",
rs.getString(1),
rs.getString(2));
});
} catch (SQLException e) {
LOG.warn(
"MySQL-CDC diagnostic: failed to query variable {}: {}",
variableName,
e.getMessage());
}
}
private void logMySqlMasterStatus() {
try {
connection.query(
"SHOW MASTER STATUS",
rs -> {
if (!rs.next()) {
LOG.warn(
"MySQL-CDC diagnostic: SHOW MASTER STATUS returned empty result");
return;
}
String file = safeGetString(rs, "File");
String position = safeGetString(rs, "Position");
String gtidSet = safeGetString(rs, "Executed_Gtid_Set");
LOG.warn(
"MySQL-CDC diagnostic: master status file={}, position={}, executed_gtid_set={}",
file,
position,
gtidSet);
});
} catch (SQLException e) {
LOG.warn(
"MySQL-CDC diagnostic: failed to query SHOW MASTER STATUS: {}", e.getMessage());
}
}
View on GitHub (pinned to cf67b549a7)
Solutions
- Enable binlogging (log_bin=ON) on the target server and restart MySQL
- Confirm with SELECT @@log_bin; — must be 1
- On MySQL 8.4+/9.x, run SHOW BINARY LOG STATUS manually; upgrade the connector version that uses the new command
- Point the job at the primary server with binlogs enabled rather than a binlog-less node
Example fix
// before (my.cnf) # skip-log-bin // after (my.cnf, restart required) log_bin = mysql-bin server_id = 1
Defensive patterns
Strategy: validation
Validate before calling
SELECT @@log_bin; -- must be 1 SHOW MASTER STATUS; -- or SHOW BINARY LOG STATUS on MySQL 8.4+ SHOW BINARY LOGS;
Prevention
- Enable log_bin on every potential CDC source including replicas used for reading
- For MySQL 8.4+/9.x use SHOW BINARY LOG STATUS / upgrade connector
- Never point CDC at a node without binlogs
When it happens
Trigger: Called during logBinlogNotAvailableDiagnostics or logGtidNotAvailableDiagnostics; SHOW MASTER STATUS executes but yields zero rows — classic on servers with log_bin=OFF or with no write activity and binlogs purged/disabled.
Common situations: Reading from a replica or instance with binlog disabled; fresh server that never produced a binlog event; MySQL 8.4+/9.x where SHOW MASTER STATUS is deprecated/removed (use SHOW BINARY LOG STATUS).
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- MySQL-CDC diagnostic: variable {}={}
- MySQL-CDC diagnostic: master status file={}, position={}, ex
- MySQL-CDC diagnostic: cannot compare binlog sequence because
- MySQL-CDC diagnostic: required binlog sequence {}{} is older
- MySQL-CDC diagnostic: required binlog sequence {}{} is newer
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/d8f8b8c80da7cfaa.
Report an issue: GitHub.