dtle icon indicating copy to clipboard operation
dtle copied to clipboard

MySQL-MySQL incr: REVOKE statement causes the source DTLE error

Open asiroliu opened this issue 2 years ago • 0 comments

Description

MySQL-MySQL incr: REVOKE statement causes the source DTLE error

Steps to reproduce the issue

  1. 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"
    }
  }
}
  1. 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'@'%';
  1. 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

asiroliu avatar May 23 '22 06:05 asiroliu