dtle
dtle copied to clipboard
MySQL-MySQL incr: REVOKE statement causes the source DTLE error
Description
MySQL-MySQL incr: REVOKE statement causes the source DTLE error
Steps to reproduce the issue
- create dtle job
{
"job_id": "dcl",
"is_password_encrypted": false,
"task_step_name": "all",
"failover": true,
"retry": 2,
"src_task": {
"task_name": "src",
"node_id": "0753f6c9-e2eb-2f49-b3e9-9a94312e9816",
"mysql_src_task_config": {
"gtid": "",
"binlog_relay": false,
"expand_syntax_support": true
},
"drop_table_if_exists": true,
"skip_create_db_table": false,
"repl_chan_buffer_size": 120,
"chunk_size": 2000,
"group_max_size": 1,
"group_timeout": 100,
"connection_config": {
"database_type": "MySQL",
"host": "172.100.9.3",
"port": 3306,
"user": "test_src",
"password": "test_src"
},
"replicate_do_db": []
},
"dest_task": {
"task_name": "dest",
"node_id": "63b55b00-9a8b-34a2-1ca2-e63d4d3c4ea8",
"mysql_dest_task_config": {
"use_my_sql_dependency": false,
"dependency_history_size": 2500,
"parallel_workers": 32
},
"connection_config": {
"database_type": "MySQL",
"host": "172.100.9.1",
"port": 3306,
"user": "test_dest",
"password": "Jtest_dest"
}
}
}
- execute DCL statement on src MySQL
sql> CREATE USER 'user'@'%' IDENTIFIED BY 'init';
sql> GRANT SELECT ON *.* TO 'user'@'%';
sql> REVOKE SELECT ON *.* FROM 'user'@'%';
- the REVOKE statement causes the source DTLE error
2022-05-23T14:35:22.470+0800 [DEBUG] client.driver_mgr.dtle: ParseQueryEventFlags: driver=dtle job=dcl-migration @module=reader.ParseQueryEventFlags bytes=0000000000012000a055000000000603737464042d002d0008000b047465737401250c016d7973716c00 timestamp=2022-05-23T14:35:22.470+0800
2022-05-23T14:35:22.470+0800 [DEBUG] client.driver_mgr.dtle: Q_INVOKERS: driver=dtle @module=reader.ParseQueryEventFlags hostname=% job=dcl-migration username=test timestamp=2022-05-23T14:35:22.470+0800
2022-05-23T14:35:22.470+0800 [DEBUG] client.driver_mgr.dtle: Q_UPDATED_DB_NAMES: driver=dtle @module=reader.ParseQueryEventFlags i=41 j=0 job=dcl-migration schema=mysql timestamp=2022-05-23T14:35:22.470+0800
2022-05-23T14:35:22.470+0800 [DEBUG] client.driver_mgr.dtle: query event: driver=dtle schema= @module=reader job=dcl-migration query="REVOKE SELECT ON *.* FROM 'user'@'%'" timestamp=2022-05-23T14:35:22.470+0800
2022-05-23T14:35:22.470+0800 [ERROR] client.driver_mgr.dtle: onError: driver=dtle @module=dtle.extractor err="StreamEvents encountered unexpected error: updateCurrentReplicateDoDb: schema name should not be empty. table " job=dcl-migration timestamp=2022-05-23T14:35:22.470+0800
2022-05-23T14:35:22.471+0800 [DEBUG] client.driver_mgr.dtle: extractor shutdown: driver=dtle @module=dtle.extractor job=dcl-migration timestamp=2022-05-23T14:35:22.470+0800
2022-05-23T14:35:22.471+0800 [INFO] client.driver_mgr.dtle: extractor shutdown: driver=dtle @module=dtle.extractor job=dcl-migration timestamp=2022-05-23T14:35:22.470+0800
2022-05-23T14:35:22.471+0800 [DEBUG] client.driver_mgr.dtle: BinlogReader.Close: driver=dtle job=dcl-migration @module=reader timestamp=2022-05-23T14:35:22.471+0800
2022-05-23T14:35:22.472+0800 [INFO] client.driver_mgr.dtle: DestroyTask: driver=dtle @module=dtle id=112d8441-4b16-effe-2753-def06d11ae63/src/dd6c1971 timestamp=2022-05-23T14:35:22.472+0800
2022-05-23T14:35:22.472+0800 [DEBUG] client.driver_mgr.dtle: extractor shutdown: driver=dtle @module=dtle.extractor job=dcl-migration timestamp=2022-05-23T14:35:22.472+0800
2022-05-23T14:35:22.569+0800 [DEBUG] client.driver_mgr.dtle: StreamEvents goroutine exited: driver=dtle @module=dtle.extractor job=dcl-migration timestamp=2022-05-23T14:35:22.569+0800
2022-05-23T14:35:22.569+0800 [INFO] client.driver_mgr.dtle: Shutting down: driver=dtle @module=dtle.extractor job=dcl-migration timestamp=2022-05-23T14:35:22.569+0800
2022-05-23T14:35:22.569+0800 [INFO] client.alloc_runner.task_runner: not restarting task: alloc_id=112d8441-4b16-effe-2753-def06d11ae63 task=src reason="Exceeded allowed attempts 2 in interval 30m0s and mode is "fail""
Output of ./dtle version
:**
9.9.9.9-master-79f4234