Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.23, 10.1.16
-
None
Description
Upstream bug https://bugs.mysql.com/bug.php?id=68079 is fixed since 5.6.16. To fix it new CMake option was introduced, INNODB_PAGE_ATOMIC_REF_COUNT.
This option is visible in the code (MariaDB 10.1, cloned today):
[openxs@centos server]$ git branch
|
* 10.1
|
[openxs@centos server]$ grep -rni INNODB_PAGE_ATOMIC_REF_COUNT *
|
storage/innobase/include/buf0types.h:29:#if defined(INNODB_PAGE_ATOMIC_REF_COUNT) && defined(HAVE_ATOMIC_BUILTINS)
|
storage/innobase/include/buf0types.h:31:#endif /* INNODB_PAGE_ATOMIC_REF_COUNT && HAVE_ATOMIC_BUILTINS */
|
storage/xtradb/include/buf0types.h:29:#if defined(INNODB_PAGE_ATOMIC_REF_COUNT) && defined(HAVE_ATOMIC_BUILTINS)
|
storage/xtradb/include/buf0types.h:31:#endif /* INNODB_PAGE_ATOMIC_REF_COUNT && HAVE_ATOMIC_BUILTINS */
|
[openxs@centos server]$
|
But, as you can see, it is not mentioned in CMakeLists.txt and (probably for this reason) is not used. In the error logs of 10.0.23 we see:
160721 14:22:06 [Note] /home/openxs/10.0.23/bin/mysqld (mysqld 10.0.23-MariaDB-log) starting as process 2418 ...
|
160721 14:22:06 [Note] InnoDB: Using mutexes to ref count buffer pool pages
|
even though this version already uses InnoDB 5.6.26. For comparison, Percona Server 5.6.28 starts like this:
 |
...
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Using atomics to ref count buffer pool p
|
ages
|
2016-02-24 18:25:37 1814 [Note] InnoDB: The InnoDB memory heap is disabled
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Mutexes and rw_locks use GCC atomic buil
|
tins
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Memory barrier is not used
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Compressed tables use zlib 1.2.3
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Using Linux native AIO
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Not using CPU crc32 instructions
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Initializing buffer pool, size = 5.0M
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Completed initialization of buffer pool
|
2016-02-24 18:25:37 1814 [Note] InnoDB: Highest supported file format is Barracu
|
da.
|
2016-02-24 18:25:38 1814 [Note] InnoDB: 128 rollback segment(s) are active.
|
2016-02-24 18:25:38 1814 [Note] InnoDB: Waiting for purge to start
|
2016-02-24 18:25:39 1814 [Note] InnoDB: Percona XtraDB (http://www.percona.com)
|
5.6.28-76.1 started; log sequence number 1017098584
|
...
|
In the code of current upstream MySQL 5.6 we see:
[openxs@centos mysql-server]$ grep -rni INNODB_PAGE_ATOMIC_REF_COUNT *
|
CMakeLists.txt:332:OPTION(INNODB_PAGE_ATOMIC_REF_COUNT "Use atomics for the page reference count"
|
CMakeLists.txt:334:MARK_AS_ADVANCED(INNODB_PAGE_ATOMIC_REF_COUNT)
|
config.h.cmake:552:#cmakedefine INNODB_PAGE_ATOMIC_REF_COUNT
|
storage/innobase/include/buf0types.h:29:#if defined(INNODB_PAGE_ATOMIC_REF_COUNT) && defined(HAVE_ATOMIC_BUILTINS)
|
storage/innobase/include/buf0types.h:31:#endif /* INNODB_PAGE_ATOMIC_REF_COUNT && HAVE_ATOMIC_BUILTINS */
|
[openxs@centos mysql-server]$ git branch
|
* 5.6
|
5.7
|
I know there were problems with this option on Windows long time ago, but is it a good reason to NOT use it and related InnoDB scalability improvements?
Attachments
Issue Links
- relates to
-
MDEV-27767 poor scaling with InnoDB and utf8mb3 because of charset stats
- Closed
- mentioned in
-
Page Loading...