NDB cluster Slave Stops With Error 1022
(Doc ID 2528967.1)
Last updated on NOVEMBER 12, 2021
Applies to:
MySQL Cluster - Version 7.4 to 8.0 [Release 7.4 to 8.0]Information in this document applies to any platform.
Symptoms
On : 7.5 version, Crashes
Writes on master done in such a way that multiple changes affecting BLOBS
belonging to the same Primary key are part of the same epoch. When these
changes are replicated to the Slave, Error 1022 occurs due to constraint
violations in NDB$BLOB_<ID>_<PART> table.
How to repeat:
--------------
a.
-master
DROP DATABASE TEST;
CREATE DATABASE TEST;
USE TEST;
drop table 1022_test;
CREATE TABLE '1022_test' (
'id' int(11) NOT NULL,
'value' varbinary(4000),
PRIMARY KEY ('id')
) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
reset master;
b.
-- slave
STOP SLAVE; RESET SLAVE;
DROP DATABASE TEST;
CREATE DATABASE TEST;
USE TEST;
drop table 1022_test;
CREATE TABLE '1022_test' (
'id' int(11) NOT NULL,
'value' blob,
PRIMARY KEY ('id')
) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
start slave;
c.
-- master
insert this data , and the slave has an error 1022
insert into TEST.1022_test(id,value) values(3,repeat(0x23,240));
update TEST.1022_test set value=repeat(0x24,240) where id=3;
update TEST.1022_test set value=repeat(0x25,250) where id=3;
update TEST.1022_test set value=repeat(0x30,400) where id=3;
update TEST.1022_test set value=repeat(0x32,320) where id=3;
update TEST.1022_test set value=repeat(0x33,330) where id=3;
d.
--slave
show slave status \G
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |
References |