[MDEV-21567] innodb.innodb_stats_persistent failed in buildbot with wrong result in execution plan Created: 2020-01-26  Updated: 2023-11-29  Resolved: 2023-11-29

Status: Closed
Project: MariaDB Server
Component/s: Tests
Affects Version/s: 10.2
Fix Version/s: N/A

Type: Bug Priority: Minor
Reporter: Elena Stepanova Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: None


 Description   

http://buildbot.askmonty.org/buildbot/builders/kvm-rpm-centos74-amd64-debug/builds/3186

10.2 aaaf6ceb8bcdfec103fd3131ff826113

innodb.innodb_stats_persistent 'innodb'  w4 [ fail ]
        Test ended at 2019-12-21 11:54:02
 
CURRENT_TEST: innodb.innodb_stats_persistent
--- /usr/share/mysql-test/suite/innodb/r/innodb_stats_persistent.result	2019-12-21 10:40:37.000000000 +0000
+++ /dev/shm/var/4/log/innodb_stats_persistent.reject	2019-12-21 11:54:02.037904709 +0000
@@ -22,7 +22,7 @@
 # DELETE must not affect statistics before COMMIT.
 EXPLAIN SELECT * FROM t1 WHERE val=4;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t1	ref	val	val	4	const	1	Using index
+1	SIMPLE	t1	ref	val	val	4	const	2	Using index
 connection con1;
 COUNT(*)
 0
@@ -90,11 +90,11 @@
 # ha_innobase::records_in_range() would count the delete-marked records.
 EXPLAIN SELECT * FROM t1;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t1	index	NULL	val	4	NULL	1	Using index
+1	SIMPLE	t1	index	NULL	val	4	NULL	2	Using index
 ROLLBACK;
 EXPLAIN SELECT * FROM t1;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t1	index	NULL	val	4	NULL	16	Using index
+1	SIMPLE	t1	index	NULL	val	4	NULL	18	Using index
 SELECT COUNT(*) FROM t1;
 COUNT(*)
 16
 
mysqltest: Result content mismatch



 Comments   
Comment by Marko Mäkelä [ 2020-01-27 ]

The exact number of rows in the table is always 0 or 16. It seems that rows=1 is being reported also for an empty table.
We must figure out some way to add some fault tolerance to the test. Basically, we only want to distinguish two values of rows: close to 1, or close to 16.
elenst, do you have any idea how to do that? (I am a little reluctant to touch ha_innobase::records_in_range() in GA versions.)

Comment by Elena Stepanova [ 2020-01-27 ]

> Basically, we only want to distinguish two values of rows: close to 1, or close to 16. Elena Stepanova, do you have any idea how to do that?
No. I don't even know how a human being can do it, distinguish "close to 1 or close to 16", it's non-specific and subjective. Ignoring the value completely is of course simple, by masking either the column or the regex pattern.

Comment by Alice Sherepa [ 2020-12-18 ]

the same on 10.3 http://buildbot.askmonty.org/buildbot/builders/winx64-debug/builds/22462/steps/test/logs/stdio

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