Percona xtradb cluster .deb binaries are built without fast mutexes

Bug #1457118 reported by Mike EKlund on 2015-05-20
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC
Status tracked in 5.6
5.5
New
Undecided
Unassigned
5.6
Fix Released
Undecided
Unassigned

Bug Description

same issue for xtradb cluster as xtradb here:
https://bugs.launchpad.net/percona-server/+bug/1433980

On Ubuntu:

zcat /usr/share/doc/percona-xtradb-cluster-server-5.6/INFO_BIN.gz
===== Information about the build process: =====
Build was run at 2015-03-09 05:40:37 on host 'vps-trusty-x64-04'

Build was done on Linux-2.6.32-042stab093.5 using x86_64
Build was done using cmake 2.8.12

===== Compiler flags used (from the 'sql/' subdirectory): =====
# compile C with /usr/bin/x86_64-linux-gnu-gcc
# compile CXX with /usr/bin/x86_64-linux-gnu-g++
C_FLAGS = -O3 -g -fno-strict-aliasing -DWITH_WSREP -DWSREP_PROC_INFO -DMYSQL_MAX_VARIABLE_VALUE_LEN=2048 -DWITH_INNODB_DISALLOW_WRITES -Wall -Wextra -Wformat-security -Wvla -Wwrite-strings -Wdeclaration-after-statement -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/builddir/include -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/include -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/sql -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/regex -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/builddir/sql -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/wsrep
C_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DHAVE_OPENSSL -DHAVE_POOL_OF_THREADS -DMYSQL_SERVER
CXX_FLAGS = -O3 -g -felide-constructors -fno-rtti -fno-strict-aliasing -DWITH_WSREP -DWSREP_PROC_INFO -DMYSQL_MAX_VARIABLE_VALUE_LEN=2048 -DWITH_INNODB_DISALLOW_WRITES -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-parameter -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/builddir/include -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/include -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/sql -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/regex -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/builddir/sql -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-trusty-64bit/percona-xtradb-cluster-5.6-5.6.22-25.8/wsrep
CXX_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DHAVE_OPENSSL -DHAVE_POOL_OF_THREADS -DMYSQL_SERVER

Pointer size: 8

===== Feature flags used: =====
-- Cache values
CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
CMAKE_Fortran_COMPILER:FILEPATH=CMAKE_Fortran_COMPILER-NOTFOUND
CMAKE_INSTALL_PREFIX:PATH=/usr
COMMUNITY_BUILD:BOOL=ON
CRYPTO_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libcrypto.so
ENABLED_PROFILING:BOOL=ON
ENABLE_DEBUG_SYNC:BOOL=ON
ENABLE_DOWNLOADS:BOOL=OFF
ENABLE_DTRACE:BOOL=OFF
ENABLE_GCOV:BOOL=OFF
ENABLE_GPROF:BOOL=OFF
ENABLE_MEMCACHED_SASL:BOOL=OFF
ENABLE_MEMCACHED_SASL_PWDB:BOOL=OFF
FEATURE_SET:STRING=community
INSTALL_LAYOUT:STRING=RPM
MAX_INDEXES:STRING=64
MYSQL_DATADIR:PATH=/var/lib/mysql
MYSQL_MAINTAINER_MODE:BOOL=OFF
OPENSSL_INCLUDE_DIR:PATH=/usr/include
OPENSSL_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libssl.so
OPENSSL_ROOT_DIR:PATH=/usr
OPTIMIZER_TRACE:BOOL=ON
TMPDIR:PATH=P_tmpdir
WITH_ARCHIVE_STORAGE_ENGINE:BOOL=ON
WITH_ASAN:BOOL=OFF
WITH_BLACKHOLE_STORAGE_ENGINE:BOOL=ON
WITH_DEBUG:BOOL=OFF
WITH_DEFAULT_COMPILER_OPTIONS:BOOL=ON
WITH_DEFAULT_FEATURE_SET:BOOL=ON
WITH_EDITLINE:STRING=bundled
WITH_EMBEDDED_SERVER:BOOL=OFF
WITH_EXAMPLE_STORAGE_ENGINE:BOOL=OFF
WITH_EXTRA_CHARSETS:STRING=all
WITH_FEDERATED_STORAGE_ENGINE:BOOL=ON
WITH_INNOBASE_STORAGE_ENGINE:BOOL=ON
WITH_INNODB_DISALLOW_WRITES:BOOL=ON
WITH_INNODB_MEMCACHED:BOOL=ON
WITH_LIBEVENT:STRING=bundled
WITH_LIBWRAP:BOOL=ON
WITH_PAM:BOOL=ON
WITH_PARTITION_STORAGE_ENGINE:BOOL=ON
WITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON
WITH_PIC:BOOL=OFF
WITH_QUERY_RESPONSE_TIME:BOOL=OFF
WITH_SSL:STRING=system
WITH_UNIT_TESTS:BOOL=ON
WITH_VALGRIND:BOOL=OFF
WITH_WSREP:BOOL=ON
WITH_ZLIB:STRING=system

===== EOF =====

On RedHat:

cat /usr/share/doc/Percona-XtraDB-Cluster-server-56-5.6.21/INFO_BIN
===== Information about the build process: =====
Build was run at 2014-11-25 06:44:23 on host 'vps-centos6-x64-01.ci.percona.com'

Build was done on Linux-2.6.32-042stab093.5 using x86_64
Build was done using cmake 2.8.12

===== Compiler flags used (from the 'sql/' subdirectory): =====
# compile C with /usr/bin/gcc
# compile CXX with /usr/bin/g++
C_FLAGS = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -DWITH_WSREP -DWSREP_PROC_INFO -DMYSQL_MAX_VARIABLE_VALUE_LEN=2048 -DWITH_INNODB_DISALLOW_WRITES -fPIC -Wall -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/release/include -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/include -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/sql -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/regex -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/release/sql -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/wsrep
C_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DHAVE_OPENSSL -DHAVE_POOL_OF_THREADS -DMYSQL_SERVER
CXX_FLAGS = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -felide-constructors -fno-rtti -DWITH_WSREP -DWSREP_PROC_INFO -DMYSQL_MAX_VARIABLE_VALUE_LEN=2048 -DWITH_INNODB_DISALLOW_WRITES -fPIC -Wall -Wno-unused-parameter -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/release/include -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/include -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/sql -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/regex -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/release/sql -I/mnt/workspace/percona-xtradb-cluster-5.6-redhat-binary/label_exp/centos6-64/rpmbuild/BUILD/Percona-XtraDB-Cluster-5.6.21-70.1/wsrep
CXX_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DHAVE_OPENSSL -DHAVE_POOL_OF_THREADS -DMYSQL_SERVER

Pointer size: 8

===== Feature flags used: =====
-- Cache values
CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
CMAKE_INSTALL_PREFIX:PATH=/usr
COMMUNITY_BUILD:BOOL=ON
CRYPTO_LIBRARY:FILEPATH=/usr/lib64/libcrypto.so
ENABLED_PROFILING:BOOL=ON
ENABLE_DEBUG_SYNC:BOOL=ON
ENABLE_DOWNLOADS:BOOL=OFF
ENABLE_DTRACE:BOOL=OFF
ENABLE_GCOV:BOOL=OFF
ENABLE_GPROF:BOOL=OFF
ENABLE_MEMCACHED_SASL:BOOL=OFF
ENABLE_MEMCACHED_SASL_PWDB:BOOL=OFF
FEATURE_SET:STRING=community
INSTALL_LAYOUT:STRING=RPM
MAX_INDEXES:STRING=64
MYSQL_DATADIR:PATH=/var/lib/mysql
MYSQL_MAINTAINER_MODE:BOOL=OFF
OPENSSL_INCLUDE_DIR:PATH=/usr/include
OPENSSL_LIBRARY:FILEPATH=/usr/lib64/libssl.so
OPENSSL_ROOT_DIR:PATH=/usr
OPTIMIZER_TRACE:BOOL=ON
TMPDIR:PATH=P_tmpdir
WITH_ARCHIVE_STORAGE_ENGINE:BOOL=ON
WITH_ASAN:BOOL=OFF
WITH_BLACKHOLE_STORAGE_ENGINE:BOOL=ON
WITH_DEBUG:BOOL=OFF
WITH_DEFAULT_COMPILER_OPTIONS:BOOL=ON
WITH_DEFAULT_FEATURE_SET:BOOL=ON
WITH_EDITLINE:STRING=bundled
WITH_EMBEDDED_SERVER:BOOL=OFF
WITH_EXAMPLE_STORAGE_ENGINE:BOOL=OFF
WITH_EXTRA_CHARSETS:STRING=all
WITH_FEDERATED_STORAGE_ENGINE:BOOL=ON
WITH_INNOBASE_STORAGE_ENGINE:BOOL=ON
WITH_INNODB_DISALLOW_WRITES:BOOL=ON
WITH_INNODB_MEMCACHED:BOOL=ON
WITH_LIBEVENT:STRING=bundled
WITH_LIBWRAP:BOOL=OFF
WITH_PAM:BOOL=ON
WITH_PARTITION_STORAGE_ENGINE:BOOL=ON
WITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON
WITH_PIC:BOOL=ON
WITH_QUERY_RESPONSE_TIME:BOOL=OFF
WITH_SSL:STRING=system
WITH_UNIT_TESTS:BOOL=ON
WITH_VALGRIND:BOOL=OFF
WITH_WSREP:BOOL=1
WITH_ZLIB:STRING=system

===== EOF =====

Note -DMY_PTHREAD_FASTMUTEX=1 specifically that is used for build created with -DBUILD_CONFIG=mysql_release.

The fact that fast muteses are NOT used in recent Percona Server official binaries leads to various performance consequences.

Tags: pkg Edit Tag help

This is easy to confirm, 14.10 in my case:

openxs@ubuntu:~$ zcat /usr/share/doc/percona-xtradb-cluster-server-5.6/INFO_BIN.gz | more
===== Information about the build process: =====
Build was run at 2015-03-09 05:39:24 on host 'vps-utopic-x32-01'

Build was done on Linux-2.6.32-042stab093.4 using i686
Build was done using cmake 2.8.12

===== Compiler flags used (from the 'sql/' subdirectory): =====
# compile C with /usr/bin/i686-linux-gnu-gcc
# compile CXX with /usr/bin/i686-linux-gnu-g++
C_FLAGS = -O3 -g -fno-strict-aliasing -DWITH_WSREP -DWSREP_PROC_INFO -DMYSQL_MA
X_VARIABLE_VALUE_LEN=2048 -DWITH_INNODB_DISALLOW_WRITES -Wall -Wextra -Wformat-s
ecurity -Wvla -Wwrite-strings -Wdeclaration-after-statement -O3 -g -fabi-version
=2 -fno-omit-frame-pointer -fno-strict-aliasing -DDBUG_OFF -I/mnt/workspace/perc
ona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-utopic-32bit/percona-x
tradb-cluster-5.6-5.6.22-25.8/builddir/include -I/mnt/workspace/percona-xtradb-c
luster-5.6-debian-binary-bzr/label_exp/ubuntu-utopic-32bit/percona-xtradb-cluste
r-5.6-5.6.22-25.8/include -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-bin
ary-bzr/label_exp/ubuntu-utopic-32bit/percona-xtradb-cluster-5.6-5.6.22-25.8/sql
 -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-
utopic-32bit/percona-xtradb-cluster-5.6-5.6.22-25.8/regex -I/mnt/workspace/perco
na-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-utopic-32bit/percona-xt
radb-cluster-5.6-5.6.22-25.8/builddir/sql -I/mnt/workspace/percona-xtradb-cluste
r-5.6-debian-binary-bzr/label_exp/ubuntu-utopic-32bit/percona-xtradb-cluster-5.6
-5.6.22-25.8/wsrep
C_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DHAVE_OPENSSL -DHAVE_POOL_OF
_THREADS -DMYSQL_SERVER
CXX_FLAGS = -O3 -g -felide-constructors -fno-rtti -fno-strict-aliasing -DWITH_W
SREP -DWSREP_PROC_INFO -DMYSQL_MAX_VARIABLE_VALUE_LEN=2048 -DWITH_INNODB_DISALLO
W_WRITES -Wall -Wextra -Wformat-security -Wvla -Woverloaded-virtual -Wno-unused-
parameter -O3 -g -fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing -D
DBUG_OFF -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp
/ubuntu-utopic-32bit/percona-xtradb-cluster-5.6-5.6.22-25.8/builddir/include -I/
mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-utop
ic-32bit/percona-xtradb-cluster-5.6-5.6.22-25.8/include -I/mnt/workspace/percona
-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-utopic-32bit/percona-xtra
db-cluster-5.6-5.6.22-25.8/sql -I/mnt/workspace/percona-xtradb-cluster-5.6-debia
n-binary-bzr/label_exp/ubuntu-utopic-32bit/percona-xtradb-cluster-5.6-5.6.22-25.
8/regex -I/mnt/workspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/
ubuntu-utopic-32bit/percona-xtradb-cluster-5.6-5.6.22-25.8/builddir/sql -I/mnt/w
orkspace/percona-xtradb-cluster-5.6-debian-binary-bzr/label_exp/ubuntu-utopic-32
bit/percona-xtradb-cluster-5.6-5.6.22-25.8/wsrep
CXX_DEFINES = -DHAVE_CONFIG_H -DHAVE_EVENT_SCHEDULER -DHAVE_OPENSSL -DHAVE_POOL_
OF_THREADS -DMYSQL_SERVER

Pointer size: 4

...

We do NOT see -DMY_PTHREAD_FASTMUTEX=1

tags: added: pkg

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PXC-1828

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers