[
https://issues.apache.org/jira/browse/FLINK-38546?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-38546:
-----------------------------------
Labels: pull-request-available (was: )
> Improve error message for table discovery failure due to MySQL permission
> -------------------------------------------------------------------------
>
> Key: FLINK-38546
> URL: https://issues.apache.org/jira/browse/FLINK-38546
> Project: Flink
> Issue Type: Improvement
> Components: Flink CDC
> Affects Versions: cdc-3.5.0
> Reporter: JunboWang
> Priority: Minor
> Labels: pull-request-available
>
> When the MySQL user lacks permissions for a specific database, Flink CDC's
> table discovery (in
> {{{}org.apache.flink.cdc.connectors.mysql.debezium.DebeziumUtils#discoverCapturedTables{}}})
> incorrectly indicates the table "does not exist". This misleads users into
> thinking the table is missing, while the actual root cause is insufficient
> permissions.
>
> The error message should be optimized to clearly reflect permission issues
> instead of falsely reporting a missing table.
>
> Reproduce:
>
> {code:java}
> // code placeholder
> version: '2.1'services: mysql: image: mysql:8.0 ports: -
> "3306:3306" environment: - MYSQL_ROOT_PASSWORD=123456 -
> MYSQL_USER=mysqluser - MYSQL_PASSWORD=mysqlpw - LANG=C.UTF-8
> command: - mysqld - --character-set-server=utf8mb4 -
> --collation-server=utf8mb4_unicode_ci
> {code}
> {code:java}
> // code placeholder
> docker-compose --file docker-compose.yml exec mysql mysql -uroot -p123456
> CREATE DATABASE test1;
> use test1;
> CREATE TABLE users (
> id INT AUTO_INCREMENT PRIMARY KEY,
> username VARCHAR(50) NOT NULL,
> email VARCHAR(100) NOT NULL,
> birthdate DATE,
> is_active BOOLEAN DEFAULT TRUE
> );
> mysql> SHOW FULL TABLES IN test1;
> +-----------------+------------+
> | Tables_in_test1 | Table_type |
> +-----------------+------------+
> | users | BASE TABLE |
> +-----------------+------------+
> mysql> CREATE USER 'test_user'@'%' IDENTIFIED BY 'A123456';
> mysql> show databases;
> +--------------------+
> | Database |
> +--------------------+
> | information_schema |
> | performance_schema |
> +--------------------+
> 2 rows in set (0.00 sec)
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)