| Bug #48636 | I_S.global_status.innodb_buffer_pool_pages_total returns different values | ||
|---|---|---|---|
| Submitted: | 9 Nov 2009 11:55 | Modified: | 24 Jun 2010 8:47 |
| Reporter: | Alexander Nozdrin | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
| Version: | 5.5.0 (mysql-trunk) | OS: | Linux |
| Assigned to: | Vasil Dimov | CPU Architecture: | Any |
[9 Nov 2009 11:57]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/89781 2926 Alexander Nozdrin 2009-11-09 Fix innodb.test due to Bug#48636.
[11 Nov 2009 6:52]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20091110093407-rw5g8dys2baqkt67) (version source revid:alik@sun.com-20091109152008-xg8oj70lass1kd79) (merge vers: 6.0.14-alpha) (pib:13)
[11 Nov 2009 7:00]
Bugs System
Pushed into 5.5.0-beta (revid:alik@sun.com-20091109115615-nuohp02h8mdrz8m2) (version source revid:alik@sun.com-20091109115615-nuohp02h8mdrz8m2) (merge vers: 5.5.0-beta) (pib:13)
[24 Jun 2010 8:47]
Vasil Dimov
This has been fixed first by alik@ in late 2009 and then, when innodb.test was imported from SVN was fixed in this changeset: ------------------------------------------------------------ revno: 3008.2.82 revision-id: vasil.dimov@oracle.com-20100512091350-idbzw2ihdqlgkfch parent: vasil.dimov@oracle.com-20100512075638-dw3iwsimxuvmfr5o committer: Vasil Dimov <vasil.dimov@oracle.com> branch nick: mysql-trunk-innodb timestamp: Wed 2010-05-12 12:13:50 +0300 message: Fix the failing innodb.innodb test. Support returning 512 and 511 pages for the buffer pool size, this is undeterministic and probably depends on alignment issues. The default buffer pool size is 8M (512) pages, which is set in include/default_mysqld.cnf. So the previous "replace_result 8192 8191" had no effect.

Description: innodb.test fails sporadically on Linux because the following statement returns different values: SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total'; Depending on the load (?) it may return 511 or 512. Adding '--replace_result 511 512' to make the test pass (before this patch the line had '--replace_result 8192 8191'). How to repeat: > uname -a Linux quad 2.6.27-15-generic #1 SMP Tue Oct 20 06:50:36 UTC 2009 x86_64 GNU/Linux > cat /proc/cpuinfo | grep processor | wc -l 4 [mysql-test]> ./mtr --mem --parallel=5 innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb innodb main.innodb w2 [ fail ] Test ended at 2009-11-09 14:46:36 CURRENT_TEST: main.innodb --- /mnt/raid/alik/MySQL/bzr/00.merges/mysql-trunk-merge/mysql-test/r/innodb.result 2009-11-09 14:37:07.000000000 +0300 +++ /mnt/raid/alik/MySQL/bzr/00.merges/mysql-trunk-merge/mysql-test/r/innodb.reject 2009-11-09 14:46:36.000000000 +0300 @@ -1738,7 +1738,7 @@ drop table t1; SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_buffer_pool_pages_total'; variable_value -512 +511 SELECT variable_value FROM information_schema.global_status WHERE LOWER(variable_name) = 'innodb_page_size'; variable_value 16384 mysqltest: Result content mismatch