Skip to content

[BUG] Exception: unknown mysql type "idx_adgroup_id_type_time (adgroup_id,type,time)" #152

@liandong00

Description

@liandong00

Bug Description

Exception: unknown mysql type "idx_adgroup_id_type_time (adgroup_id,type,time)"

Steps to Reproduce

After I added some table indexes, the log error is as follows

[dbrepl youtube_data 2025-05-06 11:37:42,041     INFO] launched db_replicator
[dbrepl youtube_data 2025-05-06 11:37:42,052     INFO] running realtime replication from the position: ('ON.000037', 1016234912)
[dbrepl youtube_data 2025-05-06 11:37:46,363     INFO] set position to /data/youtube_data/28.bin
[dbrepl youtube_data 2025-05-06 11:37:47,162     INFO] found transaction ('ON.000037', 1016234912) inside /data/youtube_data/28.bin
[dbrepl youtube_data 2025-05-06 11:37:47,163    DEBUG] processing event ('ON.000037', 1016235172), 3,
[dbrepl youtube_data 2025-05-06 11:37:47,163    DEBUG] processing query event: ('ON.000037', 1016235172), query: ALTER TABLE `adgroup_data` ADD  KEY `idx_adgroup_id_type_time` (`adgroup_id`,`type`,`time`)
[dbrepl youtube_data 2025-05-06 11:37:47,171    DEBUG] upload records, to insert: 0, to delete: 0
[dbrepl youtube_data 2025-05-06 11:37:47,174    ERROR] unhandled exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/db_replicator.py", line 196, in run
    self.run_realtime_replication()
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/db_replicator.py", line 224, in run_realtime_replication
    self.realtime_replicator.run_realtime_replication()
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/db_replicator_realtime.py", line 73, in run_realtime_replication
    self.handle_event(event)
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/db_replicator_realtime.py", line 94, in handle_event
    event_handlers[event.event_type](event)
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/db_replicator_realtime.py", line 174, in handle_query_event
    self.handle_alter_query(query, event.db_name)
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/db_replicator_realtime.py", line 185, in handle_alter_query
    self.replicator.converter.convert_alter_query(query, db_name)
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/converter.py", line 587, in convert_alter_query
    self.__convert_alter_table_add_column(db_name, table_name, tokens)
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/converter.py", line 699, in __convert_alter_table_add_column
    column_type_ch = self.convert_field_type(column_type_mysql, column_type_mysql_parameters)
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/converter.py", line 392, in convert_field_type
    clickhouse_type = self.convert_type(mysql_type, mysql_parameters)
  File "/usr/local/lib/python3.10/site-packages/mysql_ch_replicator/converter.py", line 386, in convert_type
    raise Exception(f'unknown mysql type "{mysql_type}"')
Exception: unknown mysql type "`idx_adgroup_id_type_time` (`adgroup_id`,`type`,`time`)"
[dbrepl youtube_data 2025-05-06 11:37:49,053     INFO] launched db_replicator
[dbrepl youtube_data 2025-05-06 11:37:49,064     INFO] running realtime replication from the position: ('ON.000037', 1016234912)

Expected Behavior

Actual Behavior

Environment

  • mysql_ch_replicator version: v0.0.82
  • Operating System: Debian GNU/Linux 11 (bullseye)
  • Python version: 3.10.16

MySQL Configuration

server_id = 1
log_bin=ON
expire_logs_days = 10
max_binlog_size = 1024M
binlog_format = ROW
gtid_mode = on
log_slave_updates = ON
enforce_gtid_consistency = 1

Replicator Configuration

mysql:
  host: 'mysql'
  port: 3306
  user: 'root'
  password: ''

clickhouse:
  host: 'clickhouse'
  port: 8123
  user: 'default'
  password: ''
  connection_timeout: 30        # optional
  send_receive_timeout: 300     # optional

binlog_replicator:
  data_dir: '/data'
  records_per_file: 1000000

databases: 'youtube_data'
log_level: 'debug'
initial_replication_threads: 4

Additional Information

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions