My Oracle Support Banner

NDB cluster Slave Stops With Error 1022 (Doc ID 2528967.1)

Last updated on FEBRUARY 27, 2020

Applies to:

MySQL Cluster - Version 7.5 and later
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


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.