[MDEV-20963] innodb.instant_alter_extend failed in buildbot, binary files differ Created: 2019-11-03  Updated: 2019-11-03

Status: Open
Project: MariaDB Server
Component/s: Tests
Affects Version/s: 10.4
Fix Version/s: 10.4

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Marko Mäkelä
Resolution: Unresolved Votes: 0
Labels: None


 Description   

http://buildbot.askmonty.org/buildbot/builders/kvm-fulltest/builds/20650

10.4 ad8266a5c2f087b8164bb22701084126

innodb.instant_alter_extend 'dynamic,innodb,release,utf8' w3 [ fail ]
        Test ended at 2019-10-31 04:10:30
 
CURRENT_TEST: innodb.instant_alter_extend
Warning: /mnt/buildbot/build/mariadb-10.4.9/libmysqld/examples/mysqltest_embedded: unknown variable 'loose-ssl-ca=/mnt/buildbot/build/mariadb-10.4.9/mysql-test/std_data/cacert.pem'
Warning: /mnt/buildbot/build/mariadb-10.4.9/libmysqld/examples/mysqltest_embedded: unknown variable 'loose-ssl-cert=/mnt/buildbot/build/mariadb-10.4.9/mysql-test/std_data/client-cert.pem'
Warning: /mnt/buildbot/build/mariadb-10.4.9/libmysqld/examples/mysqltest_embedded: unknown variable 'loose-ssl-key=/mnt/buildbot/build/mariadb-10.4.9/mysql-test/std_data/client-key.pem'
Warning: /mnt/buildbot/build/mariadb-10.4.9/libmysqld/examples/mysqltest_embedded: unknown option '--loose-skip-ssl'
Got ERROR: "InnoDB: Operating system error number 2 in a file operation." errno: 2000
Got ERROR: "InnoDB: The error means the system cannot find the path specified." errno: 2000
Got ERROR: "InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them." errno: 2000
Got ERROR: "InnoDB: Cannot open datafile for read-only: './mysql/innodb_index_stats.ibd' OS error: 71" errno: 2000
Got ERROR: "InnoDB: Operating system error number 2 in a file operation." errno: 2000
Got ERROR: "InnoDB: The error means the system cannot find the path specified." errno: 2000
Got ERROR: "InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them." errno: 2000
Got ERROR: "InnoDB: Cannot open datafile for read-only: './mysql/innodb_table_stats.ibd' OS error: 71" errno: 2000
Got ERROR: "InnoDB: Operating system error number 2 in a file operation." errno: 2000
Got ERROR: "InnoDB: The error means the system cannot find the path specified." errno: 2000
Got ERROR: "InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them." errno: 2000
Got ERROR: "InnoDB: Cannot open datafile for read-only: './mysql/transaction_registry.ibd' OS error: 71" errno: 2000
Binary files /mnt/buildbot/build/mariadb-10.4.9/mysql-test/suite/innodb/r/instant_alter_extend,utf8.result~ and /mnt/buildbot/build/mariadb-10.4.9/mysql-test/suite/innodb/r/instant_alter_extend,utf8.reject differ
 
 
The two files differ but it was not possible to execute 'diff' in
order to show only the difference. Instead the whole content of the
two files was shown for you to diff manually.
 
To get a better report you should install 'diff' on your system, which you
for example can get from http://www.gnu.org/software/diffutils/diffutils.html
 
 --- /mnt/buildbot/build/mariadb-10.4.9/mysql-test/suite/innodb/r/instant_alter_extend,utf8.result~ >>>
<<<
 --- /mnt/buildbot/build/mariadb-10.4.9/mysql-test/suite/innodb/r/instant_alter_extend,utf8.result~ >>>
#
# MDEV-15563: Instant ROW_FORMAT=REDUNDANT column type change&extension
# (reverted in MDEV-18627)
#
create database best;
use best;
set default_storage_engine=innodb;
set @bigval= repeat('0123456789', 30);
create procedure check_table(table_name varchar(255))
begin
select table_id into @table_id
from information_schema.innodb_sys_tables
where name = concat('best/', table_name);
select name, mtype, hex(prtype) as prtype, len
from information_schema.innodb_sys_columns
where table_id = @table_id;
end~~
# VARCHAR -> CHAR, VARBINARY -> BINARY conversion
set @bigval= repeat('0123456789', 20);
create table t (a varchar(300));
alter table t modify a char(255), algorithm=instant;
ERROR 0A000: ALGORITHM=INSTANT is not supported. Reason: Cannot change column type. Try ALGORITHM=COPY
alter table t modify a char(255), algorithm=copy;
create or replace table t (a varchar(200));
insert into t values (@bigval);
insert into t values ('z');
alter table t modify a char(200);
affected rows: 2
info: Records: 2  Duplicates: 0  Warnings: 0
select count(a) from t where a = @bigval;
count(a)
1
select a, length(a) from t where a = 'z';
a	length(a)
z	1
check table t extended;
Table	Op	Msg_type	Msg_text
best.t	check	status	OK
call check_table('t');
name	mtype	prtype	len
a	13	2100FE	600
# CHAR enlargement
alter table t modify a char(220);
affected rows: 2
info: Records: 2  Duplicates: 0  Warnings: 0
select count(a) from t where a = @bigval;
count(a)
1
select a, length(a) from t where a = 'z';
a	length(a)
z	1
check table t extended;
Table	Op	Msg_type	Msg_text
best.t	check	status	OK
call check_table('t');
name	mtype	prtype	len
a	13	2100FE	660
# Convert from VARCHAR to a bigger CHAR
alter table t modify a varchar(200);
affected rows: 2
info: Records: 2  Duplicates: 0  Warnings: 0
alter table t modify a char(255);
affected rows: 2
info: Records: 2  Duplicates: 0  Warnings: 0
select count(a) from t where a = @bigval;
count(a)
1
select a, length(a) from t where a = 'z';
a	length(a)
z	1
select * from t;
a
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
z
check table t extended;
Table	Op	Msg_type	Msg_text
best.t	check	status	OK
call check_table('t');
name	mtype	prtype	len
a	13	2100FE	765
# BINARY/VARBINARY test
create or replace table t (a varbinary(300));
insert into t values(NULL);
alter table t modify a binary(255);
affected rows: 1
info: Records: 1  Duplicates: 0  Warnings: 0
create or replace table t (a varbinary(200));
insert into t values (@bigval);
insert into t values ('z');
alter table t modify a binary(200);
affected rows: 2
info: Records: 2  Duplicates: 0  Warnings: 0
select count(a) from t where a = @bigval;
count(a)
1
select length(a) from t where left(a, 1) = 'z';
length(a)
200
check table t extended;
Table	Op	Msg_type	Msg_text
best.t	check	status	OK
call check_table('t');
name	mtype	prtype	len
a	3	3F04FE	200
# BINARY enlargement
alter table t modify a binary(220);
affected rows: 2
info: Records: 2  Duplicates: 0  Warnings: 0
check table t extended;
Table	Op	Msg_type	Msg_text
best.t	check	status	OK
call check_table('t');
name	mtype	prtype	len
a	3	3F04FE	220
# Convert from VARBINARY to a bigger BINARY
alter table t modify a varbinary(220);
affected rows: 2
info: Records: 2  Duplicates: 0  Warnings: 0
alter table t modify a binary(255);
affected rows: 2
info: Records: 2  Duplicates: 0  Warnings: 0
select count(a) from t where a = @bigval;
count(a)
0
select a, length(a) from t where a = 'z';
a	length(a)
select * from t;
a
01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
mysqltest: Result length mismatch


Generated at Thu Feb 08 09:03:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.