Skip to content
This repository was archived by the owner on Mar 1, 2026. It is now read-only.
This repository was archived by the owner on Mar 1, 2026. It is now read-only.

HA_ERR_FOUND_DUPP_KEY Clone Plugin for Replication with GTID mode #1507

Description

@rockeet

Got HA_ERR_FOUND_DUPP_KEY using Clone Plugin for Replication(with GTID mode). Replication Works fine with InnoDB, also fine with clone by xtrabackup and MyRocks.

myrocks version : 8.0.32 git sha: 69710da

server1:

#/root/test.sh
#!/bin/bash
mysql  -e '
CREATE DATABASE IF NOT EXISTS test;
use test;
CREATE TABLE IF NOT EXISTS large_data (
    id INT AUTO_INCREMENT PRIMARY KEY, 
    content VARCHAR(1024)
)ENGINE=RocksDB;

DELIMITER $$
DROP PROCEDURE IF EXISTS insert_large_data;
CREATE PROCEDURE insert_large_data()
BEGIN
    DECLARE i INT DEFAULT 0; 
    WHILE i < 2000000 DO
        INSERT INTO large_data (content)
        VALUES (SUBSTRING(CONCAT(MD5(RAND()), MD5(RAND()), MD5(RAND()), MD5(RAND())), 1, 1024));
        SET i = i + 1;
    END WHILE;    
END $$
DELIMITER ;
'
while true;
do
	if [ -e /root/stop ];then
		break;
	fi
  mysql -Dtest -e "call insert_large_data()";
done;

run bash /root/test.sh on server1 before start clone on server2.
then create user on server 1 for clone :

CREATE USER 'clone'@'%' IDENTIFIED BY 'test123';
GRANT ALL ON *.* TO 'clone'@'%';
ALTER USER 'clone'@'%' IDENTIFIED WITH mysql_native_password BY 'test123';
flush privileges;

then run clone on server2:

set global clone_valid_donor_list ='10.3.0.121:3306';
CLONE INSTANCE FROM 'clone'@'10.3.0.121':3306 IDENTIFIED BY 'test123';

after restart srever2 :

change master to master_host='10.3.0.121', master_user='clone', master_password='test123',master_auto_position=1;
start slave;

I got 1602 error:

mysql> show slave status\G
*************************** 1. row ***************************
                Slave_IO_State: Waiting for source to send event
                   Master_Host: 10.3.0.121
                   Master_User: clone
                   Master_Port: 3306
                 Connect_Retry: 60
               Master_Log_File: binlog.000001
           Read_Master_Log_Pos: 20537793
                Relay_Log_File: iZwz9azwk66n3vfhfj5rjdZ-relay-bin.000002
                 Relay_Log_Pos: 1647
         Relay_Master_Log_File: binlog.000001
              Slave_IO_Running: Yes
             Slave_SQL_Running: No
               Replicate_Do_DB:
           Replicate_Ignore_DB:
            Replicate_Do_Table:
        Replicate_Ignore_Table:
       Replicate_Wild_Do_Table:
   Replicate_Wild_Ignore_Table:
                    Last_Errno: 1062
           Last_Symbolic_Errno: regular sql errno
                    Last_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction 'ea7ca911-b823-11ef-9485-00163e0a62a9:12' at master log binlog.000001, end_log_pos 3562; Could not execute Write_rows event on table test.large_data; Duplicate entry '1' for key 'large_data.PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log binlog.000001, end_log_pos 3562; See error log and/or                        performance_schema.replication_applier_status_by_worker table for more details about this failure or others, if any.

Here is my.cnf for two servers:

[client]
default-character-set=utf8mb4
socket=/var/lib/mysql/mysql.sock
[mysql]
default-character-set=utf8mb4
[mysqldump]
default-character-set=utf8mb4
[mysqld]
# server-id should be not same for them
server-id=167968889 
transaction_isolation=Repeatable-read
user=mysql
datadir=/var/lib/mysql
plugin_dir=/usr/local/mysql/lib/plugin
pid-file=/tmp/mysqld.pid
socket=/var/lib/mysql/mysql.sock
mysqlx_socket=/var/lib/mysql/mysqlx.sock
default-storage-engine=rocksdb
plugin-load-add=mysql_clone.so
character-set-server=utf8mb4
binlog-format=ROW
log_timestamps=SYSTEM
skip-name-resolve
disabled_storage_engines=myisam
bind-address=0.0.0.0
gtid_mode=ON
enforce_gtid_consistency=ON
#replicate-do-db
binlog-ignore-db = sys,performance_schema,information_schema

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions