{"record":{"id":"b3daf913f713527f","repo":"apache/seatunnel","slug":"mysql-cdc-diagnostic-requested-starting-offset-so","errorCode":null,"errorMessage":"MySQL-CDC diagnostic: requested starting offset sourceInfo={}","messagePattern":"MySQL-CDC diagnostic: requested starting offset sourceInfo=(.+?)","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":422,"sourceCode":"                    gtidSetToReplicate,\n                    nonPurgedGtidSetToReplicate);\n            if (!gtidSetToReplicate.equals(nonPurgedGtidSetToReplicate)) {\n                LOG.warn(\"Some of the GTIDs needed to replicate have been already purged\");\n                logGtidNotAvailableDiagnostics(offset);\n                return false;\n            }\n            return true;\n        }\n        LOG.info(\"Connector last known GTIDs are {}, but MySQL has {}\", gtidSet, availableGtidSet);\n        logGtidNotAvailableDiagnostics(offset);\n        return false;\n    }\n\n    private void logBinlogNotAvailableDiagnostics(\n            String requiredBinlogFilename,\n            List<String> availableBinlogFiles,\n            MySqlOffsetContext offset) {\n        LOG.warn(\n                \"MySQL-CDC diagnostic: requested starting offset sourceInfo={}\",\n                offset.getSourceInfo());\n        LOG.warn(\n                \"MySQL-CDC diagnostic: debezium connection target host={}, port={}\",\n                getDbzConnectorConfig().hostname(),\n                getDbzConnectorConfig().port());\n\n        logMySqlServerIdentity();\n        logMySqlBinlogRetentionVariables();\n        logMySqlMasterStatus();\n        logMySqlReplicationStatus();\n        logBinlogRangeAnalysis(requiredBinlogFilename, availableBinlogFiles);\n    }\n\n    private void logGtidNotAvailableDiagnostics(MySqlOffsetContext offset) {\n        LOG.warn(\n                \"MySQL-CDC diagnostic: GTID set is not available on server for restored offset. restored_gtid_set={}, sourceInfo={}\",\n                offset.gtidSet(),","sourceCodeStart":404,"sourceCodeEnd":440,"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#L404-L440","documentation":"A diagnostic warning (not itself a failure) logged by logBinlogNotAvailableDiagnostics() when the connector determines the required binlog file is missing from the server. It prints the requested starting offset's SourceInfo so the operator can see exactly which file/position/GTID the connector tried to resume from before failing.","triggerScenarios":"checkBinlogFilename() detects the required binlog filename is not among connection.availableBinlogFiles() and calls logBinlogNotAvailableDiagnostics(requiredBinlogFilename, logNames, offset), which logs offset.getSourceInfo().","commonSituations":"Investigating 'binlog file not available' errors after binlog purging, server replacement, or restoring checkpoints against a different MySQL instance.","solutions":["Read the logged sourceInfo to confirm the expected binlog file/position and compare with SHOW BINARY LOGS on the server.","If the offset is stale (file purged), restart the job with a new snapshot or reset the state.","If the offset points to the wrong server, fix the connection config (host/port) or restore the checkpoint to the correct cluster.","Increase binlog retention to prevent recurrence."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"-- Cross-check diagnostics against the server:\nSHOW BINARY LOGS; -- does the logged file exist here?","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Read the sourceInfo diagnostic to identify the exact missing file","Compare logged binlog filename with server's SHOW BINARY LOGS","Address retention/purge issues flagged by the diagnostic chain"],"tags":["mysql","binlog","diagnostics","offset"],"backgroundTag":"resource-not-found","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}