Percona xtradb cluster .deb binaries are built without fast mutexes

Bug #1457118 reported by Mike EKlund
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
Revision history for this message
Valerii Kravchuk (valerii-kravchuk) wrote :

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
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.