{"record":{"id":"b94b623adbeff853","repo":"apache/seatunnel","slug":"t-skipping-database-due-to-error-reading-tab-b94b62","errorCode":null,"errorMessage":"\\t skipping database '{}' due to error reading tables: {}","messagePattern":"\\\\t skipping database '(.+?)' due to error reading tables: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"seatunnel-connectors-v2/connector-cdc/connector-cdc-mysql/src/main/java/io/debezium/connector/mysql/legacy/SnapshotReader.java","lineNumber":394,"sourceCode":"                                                    \"\\t '{}' is not added among known tables\", id);\n                                        }\n                                        if (filters.tableFilter()\n                                                .and(isAllowedForSnapshot)\n                                                .test(id)) {\n                                            capturedTableIds.add(id);\n                                            logger.info(\n                                                    \"\\t including '{}' for further processing\", id);\n                                        } else {\n                                            logger.debug(\n                                                    \"\\t '{}' is filtered out of capturing\", id);\n                                        }\n                                    }\n                                });\n                        readableDatabaseNames.add(dbName);\n                    } catch (SQLException e) {\n                        // We were unable to execute the query or process the results, so skip this\n                        // ...\n                        logger.warn(\n                                \"\\t skipping database '{}' due to error reading tables: {}\",\n                                dbName,\n                                e.getMessage());\n                    }\n                }\n                /*\n                 * To achieve an ordered snapshot, we would first get a list of Regex tables.whitelist regex patterns\n                 * + and then sort the tableIds list based on the above list\n                 * +\n                 */\n                List<Pattern> tableIncludeListPattern =\n                        Strings.listOfRegex(\n                                configuration.getFallbackStringProperty(\n                                        MySqlConnectorConfig.TABLE_INCLUDE_LIST,\n                                        MySqlConnectorConfig.TABLE_WHITELIST),\n                                Pattern.CASE_INSENSITIVE);\n                List<TableId> tableIdsSorted = new ArrayList<>();\n                tableIncludeListPattern.forEach(","sourceCodeStart":376,"sourceCodeEnd":412,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-cdc/connector-cdc-mysql/src/main/java/io/debezium/connector/mysql/legacy/SnapshotReader.java#L376-L412","documentation":"Same skip-database warning as the modern Debezium path but in the legacy SnapshotReader: while enumerating tables per database during snapshot, a SQLException for a database logs this warning and that database is skipped. Snapshot continues without those tables.","triggerScenarios":"Legacy snapshot execution reads tables of each database via JDBC; the query fails for one database (privileges, dropped schema, connection error) and the reader logs and continues.","commonSituations":"Older SeaTunnel/Debezium connector versions using the legacy snapshot path; CDC account with limited schema grants; schema dropped concurrently with snapshot start.","solutions":["Grant the CDC user adequate privileges on all databases expected to be captured.","Confirm the database exists and matches your table-name include/exclude configuration.","Check MySQL error log for the underlying SQLException message printed after the colon.","Upgrade to the current Debezium-based MySQL CDC path if the legacy reader behavior is undesirable.","Rerun the snapshot after fixing permissions to capture previously skipped tables."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"SHOW GRANTS FOR CURRENT_USER;\n-- ensure SELECT on all schemas in table-name config","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pre-grant privileges on all target schemas before legacy snapshot runs","Log and review skipped databases post-run to catch silent exclusions","Upgrade away from the legacy SnapshotReader path where possible","Validate database names in config against information_schema"],"tags":["cdc","mysql","legacy","snapshot","permissions"],"backgroundTag":"permission-denied","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"}