Commit graph

170894 commits

Author SHA1 Message Date
Monty
f383cbcb03 Added some selects to rpl_parallel2.test to find out where it fails in buildbot 2015-11-18 14:46:30 +02:00
Vladislav Vaintroub
dd90dae3c0 MDEV-7588 Add thd_wait_begin/end to notify threadpool of binlog waits 2015-11-17 20:08:36 +01:00
Kristian Nielsen
4008a3e55b Merge branch 'bb-10.0-knielsen' into 10.0 2015-11-14 10:11:09 +01:00
Monty
063a51ca5d Fixed buildbot failures with system_mysql_db_fix 2015-11-14 07:21:03 +02:00
Monty
a9cda4419b MDEV-8066 Crash on unloading semisync_master plugin
Bug was that ReplSemiSyncMaster::commitTrx() was waiting on a condition
for state to change, but didn't take into account that one could have
disabled semi-sync during the wait.
2015-11-14 00:04:29 +02:00
Kristian Nielsen
65986b8a0a Merge branch 'mdev7818-4' into bb-10.0-knielsen 2015-11-13 15:30:48 +01:00
Kristian Nielsen
d5d87c98c0 Fix embedded server build after MDEV-7818 patch 2015-11-13 15:30:37 +01:00
Kristian Nielsen
6bf88cdd9d Merge branch 'mdev7818-4' into bb-10.0-knielsen 2015-11-13 14:08:38 +01:00
Kristian Nielsen
ba02550166 MDEV-7818: Deadlock occurring with parallel replication and FTWRL
Problem is that FLUSH TABLES WITH READ LOCK first blocks threads from
starting new commits, then waits for running commits to complete. But
in-order parallel replication needs commits to happen in a particular
order, so this can easily deadlock.

To fix this problem, this patch introduces a way to temporarily pause
the parallel replication worker threads. Before starting FTWRL, we let
all worker threads complete in-progress transactions, and then
wait. Then we proceed to take the global read lock. Once the lock is
obtained, we unpause the worker threads. Now commits are blocked from
starting by the global read lock, so the deadlock will no longer occur.
2015-11-13 14:02:15 +01:00
Kristian Nielsen
6d96fab7dd MDEV-7818: Deadlock occurring with parallel replication and FTWRL
Preparation patch, moving the GCO wait into a separate function, in
preparation for adding a separate wait phase for FLUSH TABLES WITH
READ LOCK.
2015-11-13 14:02:14 +01:00
Kristian Nielsen
75dc267101 Change Seconds_behind_master to be updated only at commit in parallel replication
Before, the Seconds_behind_master was updated already when an event
was queued for a worker thread to execute later. This might lead users
to interpret a low value as the slave being almost up to date with the
master, while in reality there might still be lots and lots of events
still queued up waiting to be applied by the slave.

See https://lists.launchpad.net/maria-developers/msg08958.html for
more detailed discussions.
2015-11-13 10:24:53 +01:00
Sergei Petrunia
2776159e42 MDEV#7383: Update test results 2015-11-12 22:21:47 +03:00
Monty
73d4c4dfe7 Remove compiler warning 2015-11-12 15:16:53 +02:00
Monty
e8c1b35f18 MDEV-8476 Race condition in slave SQL thread shutdown
Patch backported from MariaDB 10.1

- Ensure that we wait with cleanup() until slave thread has stopped.
- Added signal_thd_deleted() to signal close_connections() that all THD's has been freed.

Other things
- Removed not needed calls to THD_CHECK_SENTRY() when we are calling 'delete thd'.
2015-11-12 14:51:01 +02:00
root
83ed38d92a fix mdev-8140 2015-11-11 14:19:11 +04:00
Vladislav Vaintroub
6c8f650ea0 MDEV-9089 Server crashes in MDL_key::mdl_key_init (main.lowercase_table4 test fails)
Fix : make sure that database name is converted to lowercase in
check_fk_parent_table_access(), if lowercase_table_names !=0
2015-11-10 14:45:26 +01:00
Sergei Petrunia
9f862ce026 MDEV#7383: engine-independent-stats column_stats has limited values for max/min values
Patch from Daniel Black:
- Change the charset of mysql.column_stats.{min_value, max_value} from
  utf8_bin varchar to varbinary
- Adjust the code that saves/reads the data accordingly.
- Also provide upgrade statement in mysql_system_tables_fix.sql
2015-11-09 17:58:35 +03:00
Vladislav Vaintroub
1694d81399 MDEV-8533 Debug embedded server does not build on Windows
pre/CMakeLists.txt defines CMAKE_DEBUG_POSTFIX which causes a different
library name on Windows debug build (pcred.lib rather than pre.lib)
However MERGE_LIBRARIES macro that is used to create static embedded
library (out of other static libraries), can  not handle per-configuration
library names. Thus the build fails with "pre.lib not found"

Fix is to remove unnecessary CMAKE_DEBUG_POSTFIX
2015-11-09 12:29:26 +01:00
Vladislav Vaintroub
f1daf9ced4 MDEV-9024 Build fails with VS2015
Fix build failures caused by new C runtime library
- isnan, snprintf, struct timespec are now defined, attempt to
redefine them leads
- P_tmpdir, tzname are no more defined
-  lfind() and lsearch() in lf_hash.c had to be renamed,  declaration
conflicts with some C runtime functions with the same name declared in
a header included by stdlib.h

 Also fix couple of annoying warnings :
- remove #define NOMINMAX from config.h to avoid "redefined" compiler
warnings(NOMINMAX is already in compile flags)

- disable incremental linker in Debug as well (feature not used much
and compiler crashes often)


Also simplify package building with Wix, require Wix 3.9 or later
(VS2015 is not compatible with old Wix 3.5/3.6)
2015-11-06 17:27:24 +01:00
Alexander Barkov
a36048d143 MDEV-7550 TokuDB crashes in build tests on Launchpad
When compiled with "-Wl,-Bsymbolic-functions" flags
(e.g. when building a .deb package on Ubuntu) with TokuDB and jemalloc,
mysqld crashed in toku_get_processor_frequency_cpuinfo() when
free()-ing a buffer returned by getline().
getline() uses libc malloc() internally, while free() is aliased
to jemalloc's free() in this configuration.
Fixing not to use getline(). Using a static buffer instead.
2015-11-06 12:26:03 +04:00
Oleksandr Byelkin
5041de97e1 MDEV-8701 Crash on derived query
Make unique table check after setup_fields of update because unique table can materialize table and we do not need field resolving after materialization.
2015-11-05 17:50:59 +01:00
Vladislav Vaintroub
d9119710c4 MDEV-9041 connect-timeout has no effect on Windows
Replaced my_connect() with cross-plattform, timeout aware
vio_socket_connect() function
2015-11-05 15:32:25 +01:00
Vladislav Vaintroub
245bfc52fc MDEV-8669 MTR client connections on Windows became much slower.
The regression is caused by change bind-address server parameter
in MDEV-8083, so now server listens on IPv4 only by default.

The problem however is that on Windows, connection to server on localhost
appears to be much faster, if server listens on IPv6/dual stack.
mysql_real_connect() would try to connect to IPv6 loopback  first,
and if this fails, the failing connect() call takes several seconds.

To fix, use bind-address=* on Windows, and 127.0.0.1 elsewhere
2015-11-03 17:41:06 +01:00
Oleksandr Byelkin
fa1438cbf4 MDEV-8913 Derived queries with same column names as final projection causes issues when using Order By
find_item_in_list() now recognize view fields like a fields even if they rever to an expression.
The problem of schema name do not taken into account for field with it and
derived table fixed.
Duplicating code removed
2015-10-30 14:51:17 +01:00
Sergei Golubchik
bf186312e1 fix compilation with -DENABLED_PROFILING=OFF
(with ENABLED_PROFILING=ON, field.h was included indirectly
from sql_profile.h)
2015-10-30 13:06:02 +01:00
Alexander Barkov
59dd58b17e MDEV-8692 prefschema test failures on ARM (on Debian build system)
A few tests assumes that the CYCLE timer is always available,
which is not true on some platforms (e.g. ARM).
Fixing the tests not to reply on the CYCLE availability.
2015-10-30 10:10:43 +04:00
Sergei Golubchik
56f04e0dfd MDEV-9014 SHOW TRIGGERS not case sensitive
use table_alias_charset for comparing table names, not files_charset_info
2015-10-28 21:32:07 +01:00
Sergei Golubchik
d775ecdd01 MDEV-8543 mysql.server script not correctly handle --pid-file. 2015-10-28 13:13:45 +01:00
Oleksandr Byelkin
d88aaaa841 MDEV-8525 mariadb 10.0.20 crashing when data is read by Kodi media center (http://kodi.tv).
Item_direct_view_ref maintains its own item_const() method so should use it when asked of temporary table field to be in sync with it.
2015-10-28 11:13:31 +01:00
Oleksandr Byelkin
b0e3f484f7 MDEV-8756 MariaDB 10.0.21 crashes during PREPARE
Non-select-like queries has no correct JOIN structure connected to top-most SELECT_LEX (and should not).
2015-10-28 10:06:30 +01:00
Sergey Vojtovich
ac67f9a42a Removed mistakenly committed test file. 2015-10-28 12:54:09 +04:00
Oleksandr Byelkin
ce1b450ab1 MDEV-7930 Assertion `table_share->tmp_table != NO_TMP_TABLE || m_lock_type != 2' failed in handler::ha_index_read_map
In optimizing aggregate function do not try to touch tables from outer
query.
2015-10-28 09:34:05 +01:00
Aditya A
e1ed331cea MDEV-8805 - Assertion `!m_ordered_rec_buffer' failed in
ha_partition::init_record_priority_queue()

Cherry-pick rev.6b0ee0c795499cee7f9deb649fb010801e0be4c2 from mysql-5.6.

Bug #18305270  BACKPORT BUG#18694052 FIX
               FOR ASSERTION `!M_ORDERED_REC_BUFFER'
               FAILED TO 5.6

PROBLEM
-------
Missed to remove record priority queue if
init_index failed for a partition which
was causing the crash.

FIX
---
Remove priority queue if init_index fails
for partition.
2015-10-28 12:09:55 +04:00
Jan Lindström
4834d822ef MDEV-8932: innodb buffer pool hit rate is less than zero
In buffer pool read hit rate calculation can lead rate that is
less than zero.
2015-10-28 08:42:51 +02:00
Sergei Golubchik
a9b5a8d505 Merge branch 'bb-10.0-serg' into 10.0 2015-10-28 00:08:18 +01:00
Sergei Golubchik
3c5733cd2d Merge branch 'connect/10.0' into 10.0 2015-10-27 18:57:28 +01:00
Jan Lindström
13884cf206 MDEV-8696: Adding indexes on empty table is slow with large innodb_sort_buffer_size.
Analysis: Current implementation will write and read at least one block
(sort_buffer_size bytes) from disk / index even if that block does not
contain any records.

Fix: Avoid writing / reading empty blocks to temporary files (disk).
2015-10-27 13:00:15 +02:00
Sergey Vojtovich
d6480f49ff Fixed Fedora 22 package build failure.
Since MariaDB packages have absolute paths, they are marked as not relocatable
by setting CPACK_RPM_PACKAGE_RELOCATABLE. According to logics of recent CPackRPM
it is not enough: one needs to set CPACK_PACKAGE_RELOCATABLE additionally.
2015-10-26 20:43:23 +04:00
Sergey Vojtovich
e4f9d20d7c MDEV-8498 - mysql_secure_installation can't find "mysql" in basedir
mysql_secure_installation used incorrect path while looking up for "mysql"
client tool: $basedir/$basedir/bin instead of $basedir/bin.

This patch adapts "my_print_defaults" lookup algorithm for "mysql" client tool.
2015-10-26 16:11:13 +04:00
Alexey Botchkov
c9185225cb MDEV-8358 ALTER TABLE .. ADD PRIMARY KEY IF NOT EXISTS -> ERROR 1068 (42000): Multiple primary key defined
Checks for multiple primary keys added.
2015-10-25 22:45:48 +04:00
Sergei Golubchik
6a28882b57 merge commit 02b00b154
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jul 30 11:17:50 2015 +0200

    Bug#21528683 SLOWDOWN CAUSED BY MEMSET IN SQL_DIGEST_STORAGE.RESET()
2015-10-24 20:06:59 +02:00
Sergei Golubchik
84da1547e6 MDEV-8883 more cross-compiling fixes
use CHECK_C_SOURCE_COMPILES for atomic tests if cross-compiling
(continue to use CHECK_C_SOURCE_RUNS otherwise)
2015-10-24 19:58:34 +02:00
Sergei Golubchik
fb8713385f remove unneded #include's that had a dubious explanation 2015-10-24 19:58:34 +02:00
Alexander Barkov
2c0bcfff8c MDEV-8693 Tests connect.bin connect.endian fail on armhf (on Debian build system) 2015-10-24 20:16:06 +04:00
Monty
d546d1cc13 Fixed MDEV-8408
Assertion `inited==INDEX' failed in int handler::ha_index_first(uchar*)

The crash was because errors from init_read_record_idx() was not taken care of.
2015-10-23 18:49:02 +03:00
Sergei Golubchik
df8832caae MDEV-8883 more cross-compiling fixes
don't abort with "XtraDB not supported" if XtraDB was disabled
in this build.
2015-10-22 15:23:18 +02:00
Sergei Golubchik
581d85259d MDEV-8868 Consider adding a check for libjemalloc version in cmake and/or at runtime
add a run-time check for jemalloc >= 2.3
2015-10-22 13:55:55 +02:00
Sergei Golubchik
6f0754789c MDEV-8614 Assertion `status == 0' failed in add_role_user_mapping_action on RENAME USER
don't forget to re-examine the current element when updating a HASH
2015-10-22 13:09:38 +02:00
Sergei Golubchik
956e92d908 MDEV-8609 Server crashes in is_invalid_role_name on reloading ACL with a blank role name
strip endspaces from the role name in the parser
because they'll be lost anyway when the name is stored
in the mysql.user.user column (of type CHAR)
2015-10-22 11:58:54 +02:00
Sergei Golubchik
27328ca1f4 add comment to a test 2015-10-22 10:27:36 +02:00