Commit graph

17975 commits

Author SHA1 Message Date
sensssz
0a769b00b5 Get thd by lock->trx->mysql_thd. 2016-10-12 21:54:31 -04:00
sensssz
5dc7ad87b8 Reduce conflict during in-order replication. 2016-10-12 21:52:14 -04:00
sensssz
55d2bff882 Bug fix: add * and ; for innodb 2016-10-11 23:27:03 -04:00
sensssz
288796f927 Bug fix: missing * and ; 2016-10-11 23:05:02 -04:00
sensssz
e93d44f2d7 Bug fix: add undeclared variables. 2016-10-11 23:02:26 -04:00
sensssz
6100f59ffa Implement VATS both in InnoDB and XtraDB. Add configuration options for it in both of them. 2016-10-11 20:52:35 -04:00
Alexander Barkov
5058ced5df MDEV-7769 MY_CHARSET_INFO refactoring# On branch 10.2
Part 3 (final): removing MY_CHARSET_HANDLER::well_formed_len().
2016-10-10 14:36:09 +04:00
Olivier Bertrand
9b20d606fb - Fix MDEV-10948. Syntax error on quoted JDBC tables.
Was because the quoting character was always '"' instead of being
  retrieve from the JDBC source.
  modified:   storage/connect/JdbcInterface.java
  modified:   storage/connect/jdbconn.cpp
  modified:   storage/connect/tabjdbc.cpp
2016-10-05 23:44:54 +02:00
Monty
14b1c8c80d After merge and bug fixes
- Fixed compiler warnings
- Removed have_debug.inc from innochecksum_3
- Fixed race condition in innodb_buffer_pool_load
- Fixed merge issue in innodb-bad-key-change.test
- Fixed missing array allocation that could cause
  function_defaults_notembedded to fail
- Fixed thread_cache_size_func
2016-10-05 01:11:08 +03:00
Monty
af7490f95d Remove end . from error messages to get them consistent
Fixed a few failing tests
2016-10-05 01:11:08 +03:00
Monty
c1125c3218 Fixed compiler warnings and failing tests 2016-10-05 01:11:08 +03:00
Jan Lindström
4f919beeda Enable Geometry datatype for SPATIAL indexes and disable online
index creation for SPATIAL indexes.
2016-10-03 19:54:23 +03:00
Jan Lindström
e5019d3f34 MDEV-10908: innodb_zip.bug56680 fails in buildbot with InnoDB: Failing assertion: bpage->id.space() == page_id.space()
Incorrect merge introduced too strict assertion.
2016-09-30 08:45:51 +03:00
Jan Lindström
737295c752 MDEV-10727: Merge 5.7 Innochecksum with 5.6 2016-09-30 08:08:19 +03:00
Vladislav Vaintroub
b3f7d52e1e MDEV-10918 Innodb/Linux - Fallback to simulated aio if io_setup() fails, e.g due to insufficient resources 2016-09-29 13:25:45 +00:00
Nirbhay Choubey
88f2ec6f20 MDEV-10041: Server crashes sporadically during bootstrap while running wsrep tests
The crash is caused due to a race condition where wsrep
startup threads invoke ha_maria::implicit_commit() method
while maria_hton is partially initialized. The fix is to
skip this method if plugins are uninitialized.
2016-09-28 13:23:31 -04:00
Sergei Golubchik
66d9696596 Merge branch '10.0' into 10.1 2016-09-28 17:55:28 +02:00
Sergei Petrunia
23af6f5942 Merge branch '10.0' of github.com:MariaDB/server into 10.0 2016-09-28 16:19:58 +03:00
Sergei Petrunia
66a58f46e9 Merge fix for MDEV-10649 from 10.0 to 10.1
- storage/innobase/dict/dict0stats.cc
- storage/xtradb/dict/dict0stats.cc
2016-09-28 16:19:05 +03:00
Sergei Petrunia
a53f3c6d3c MDEV-10649: Optimizer sometimes use "index" instead of "range" access for UPDATE
(Fixing both InnoDB and XtraDB)

Re-opening a TABLE object (after e.g. FLUSH TABLES or open table cache
eviction) causes ha_innobase to call
dict_stats_update(DICT_STATS_FETCH_ONLY_IF_NOT_IN_MEMORY).

Inside this call, the following is done:
  dict_stats_empty_table(table);
  dict_stats_copy(table, t);

On the other hand, commands like UPDATE make this call to get the "rows in
table" statistics in table->stats.records:

  ha_innobase->info(HA_STATUS_VARIABLE|HA_STATUS_NO_LOCK)

note the HA_STATUS_NO_LOCK parameter. It means, no locks are taken by
::info() If the ::info() call happens between dict_stats_empty_table
and dict_stats_copy calls, the UPDATE's optimizer will get an estimate
of table->stats.records=1, which causes it to pick a full table scan,
which in turn will take a lot of row locks and cause other bad
consequences.
2016-09-28 16:12:58 +03:00
Sergei Golubchik
078e510e0a Merge branch 'merge/merge-tokudb-5.6' into 10.0 2016-09-27 19:03:11 +02:00
Sergei Golubchik
2e914acb78 Merge branch 'merge/merge-perfschema-5.6' into 10.0 2016-09-27 19:00:08 +02:00
Sergei Golubchik
bb8b658954 Merge branch 'merge/merge-xtradb-5.6' into 10.0 2016-09-27 18:58:57 +02:00
Sergei Golubchik
3629f62d29 Merge branch 'merge/merge-innodb-5.6' into 10.0 2016-09-27 18:05:06 +02:00
Sergei Golubchik
93ab3093cb 5.6.32-78.1 2016-09-27 18:00:59 +02:00
Sergei Golubchik
e312e2e636 5.6.32-78.1 2016-09-27 17:59:58 +02:00
Sergei Golubchik
094f140c9a 5.6.33 2016-09-27 17:56:00 +02:00
Jan Lindström
452e849522 MDEV-10886: encryption.innodb-bad-key-change fails (crashes) in buildbot
Problem was that NULL-pointer was accessed inside a macro when
page read from tablespace is encrypted but decrypt fails because
of incorrect key file.

Removed unsafe macro using inlined function where used pointers
are checked.
2016-09-27 07:54:27 +03:00
Vicențiu Ciorbaru
954e46531d Fix compilation failure of TokuDB on BSD-like systems
mincore is defined differently in BSD mincore(void *, size_t, char *) vs
linux variant of: mincore(void *, size_t, unsigned char *).
Account for this difference in TokuDB.
2016-09-24 15:09:39 +02:00
Sergei Petrunia
a95e384d54 MDEV-10174: Make the fix for MDEV-8989 enabled by default in 10.2
- Change the default @@optimizer_switch value
- Adjust the testcases
2016-09-24 15:27:56 +03:00
Jan Lindström
7d7b92c107 Disable encryption info and first page read info for every tablespace
on product builds.
2016-09-24 14:22:44 +03:00
Daniel Black
f05dfbebcc Merge 10.2
Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-09-23 09:24:22 +10:00
Daniel Black
8e8e65ed1c MDEV-10829: innodb_numa_interleave=1, use numa numa_get_mems_allowed
Using numa_all_nodes_ptr was excessively optimistic. Due to
constraints in systemd, containers or otherwise mysqld could of been
limited to a smaller set of cpus. Use the numa_get_mems_allowed
library function to see what we can interleave between before doing
so. The alternative is to fail interleaving overall.

Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-09-23 09:05:02 +10:00
Daniel Black
8103f6f223 MDEV-10829: Enable Innodb NUMA interleave
Code was already existing within the innobase/xtradb storage engines
however without this cmake code it was never enabled.

num.cmake heavily based off work by Annamalai Gurusami <annamalai.gurusami@oracle.com>

Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-09-23 08:33:38 +10:00
Jan Lindström
1d55cfce10 Do not use os_file_read() directly for reading first page of the
tablespace. Instead use fil_read() with syncronous setting.
Fix test failures and mask tablespace number as it could
change in concurrent mtr runs.
2016-09-22 21:47:27 +03:00
Vladislav Vaintroub
6304c0bfc7 Windows : completion port based asynchronous IO. 2016-09-22 17:27:36 +00:00
Vladislav Vaintroub
c46304f751 Fix valgrind error.
Do not accessing trx->mysql_log_file_name
after transaction end.
2016-09-22 17:21:21 +00:00
Vladislav Vaintroub
630035beaf Fix buildbot errors on Windows
Do not use CloseHandle() on thread id. It is not a kernel handle.
2016-09-22 17:13:05 +00:00
Jan Lindström
2bedc3978b MDEV-9931: InnoDB reads first page of every .ibd file at startup
Analysis: By design InnoDB was reading first page of every .ibd file
at startup to find out is tablespace encrypted or not. This is
because tablespace could have been encrypted always, not
encrypted newer or encrypted based on configuration and this
information can be find realible only from first page of .ibd file.

Fix: Do not read first page of every .ibd file at startup. Instead
whenever tablespace is first time accedded we will read the first
page to find necessary information about tablespace encryption
status.

TODO: Add support for SYS_TABLEOPTIONS where all table options
encryption information included will be stored.
2016-09-22 16:38:24 +03:00
Sergei Golubchik
c82c375eea compilation failure on power8
fix a bad merge
2016-09-22 12:04:13 +02:00
Jan Lindström
200430ee80 MDEV-10845: Server crashes in sync_array_cell_print with innodb-status-file
Problem was NULL-pointer reference. Fixed by removing unnecessary and not
really working recursive reserver thread lookup.
2016-09-22 07:39:42 +03:00
Vicențiu Ciorbaru
83d5b963bd Fix tokudb jemalloc linking
Linking tokudb with jemalloc privately causes problems on library
load/unload. To prevent dangling destructor pointers, link with the same
library as the server is using.
2016-09-20 12:37:35 +02:00
Sergei Golubchik
f9bdc7c01a Merge branch '10.2' into bb-10.2-jan 2016-09-19 09:47:08 +02:00
Olivier Bertrand
7d596c9ff5 - Working on MDEV-10525. Lrecl mismatch on DBF files
modified:   storage/connect/filamdbf.cpp
  modified:   storage/connect/filamdbf.h
  modified:   storage/connect/reldef.cpp
2016-09-16 22:14:14 +02:00
Jan Lindström
f5ef5531b8 Fixed mutex deadlock found with innodb.innodb-defrag-concurrent
test. We should not take X-lock for index in the begining, setting
tablespace as named space is enough.
2016-09-16 09:54:30 +02:00
Sergei Golubchik
c8b3244703 fix some quoting in error messages
add_identifier change comes from 5.7, everything else is a follow-up
2016-09-16 09:54:30 +02:00
Sergei Golubchik
ea3262dc71 Fix innodb_fts suite
* update (some) tests from 5.7
* update results (e.g. cardinality is no longer reported)
* uncomment MYSQL_PLUGIN_FULLTEXT_PARSER/MYSQL_FTS_PARSER code
* initialize m_prebuilt->m_fts_limit manually,
   as we do not use ft_init_ext_with_hints()
2016-09-14 15:10:47 +02:00
Jan Lindström
4133d2940e Fix crash on innodb_fts.innobase_drop_fts_index_table
We need to pass nonatomic=false (dont allow data dict unlock),
because the transaction may hold locks on SYS_* tables from
previous calls to fts_drop_table().
2016-09-14 15:11:01 +03:00
Vladislav Vaintroub
587cb666c4 Windows : Remove one more CloseHandle() used on a (non-handle) thread id 2016-09-13 23:48:03 +00:00
Vladislav Vaintroub
588b03328d Add error logging for aio error on Windows 2016-09-13 21:55:21 +00:00