Commit graph

16855 commits

Author SHA1 Message Date
Jan Lindström
d1307bde65 MDEV-8395: InnoDB: Assertion failure in file fil0pagecompress.cc line 539 (SIGFPE)
File block size might be 0 and used on modulo operator. Make sure that
file block size is initialized to 512.
2015-06-30 18:49:47 +03:00
Jan Lindström
79af0b3823 MDEV-8393: InnoDB: Assertion failure in file fil0crypt.cc line 2109
Crypt data was used when it was already freed. Delete crypt data
more thorougly when freed.
2015-06-29 14:10:37 +03:00
Jan Lindström
4fac626917 MDEV-8390: innodb.innodb-flush-changed-page-bitmaps crashes
Analysis: Flush changed page bitmaps calls log_online_follow_redo_log
that later calls log_group_read_log_seg with release_mutex = true
and that causes the log_sys mutex being released before
log_decrypt_after_read function that later required log_sys mutex.

Fix: Enter log_sys mutex before log_decrypt_after_read if mutex
is released and release the mutex after the function if we
acquired it before function call.
2015-06-29 12:48:42 +03:00
Sergei Golubchik
658992699b Merge tag 'mariadb-10.0.20' into 10.1 2015-06-27 20:35:26 +02:00
Sergei Golubchik
fe7e334f3e cleanup: remove unused function argument 2015-06-27 09:40:57 +02:00
Sergei Golubchik
ff7a1ff6d7 fix printf format string 2015-06-27 09:40:54 +02:00
Jan Lindström
b7ff2f1b59 MDEV-7472: Implementation of user statements for handling the xtradb changed page bitmaps
Introduce a new dummy INFORMATION_SCHEMA.CHANGED_PAGE_BITMAPS table to XtraDB
with reset_table callback to allow FLUSH NO_WRITE_TO_BINLOG CHANGED_PAGE_BITMAPS
to be called from innobackupex.
2015-06-23 14:46:06 +03:00
Sergey Vojtovich
2b253ed41f MDEV-8324 - MariaDB fails to build with performance schema disabled
Various fixes to let MariaDB compile with performance schema disabled.
2015-06-19 15:06:33 +04:00
Jan Lindström
f5ddffd83e MDEV-8156: Assertion failure in file log0crypt.cc line 220 on server restart
Instead of asserting print informative error message to error log
and return failure from innodb_init causing the server to shutdown.
2015-06-18 20:01:00 +03:00
Jan Lindström
eb2c170bb0 MDEV-8303; Dumping buffer pool noisy in the logs.
Added new dynamic configuration variable innodb_buf_dump_status_frequency
to configure how often buffer pool dump status is printed in the logs.
A number between [0, 100] that tells how oftern buffer pool dump status
in percentages should be printed. E.g. 10 means that buffer pool dump
status is printed when every 10% of number of buffer pool pages are
dumped. Default is 0 (only start and end status is printed).
2015-06-18 12:20:21 +03:00
Jan Lindström
b94eaff8d9 MDEV-8310: Encryption bogus message still in 10.1.5
Moved warning print to debug builds only because on production
these messages are unnecessary.
2015-06-17 09:12:26 +03:00
Sergei Golubchik
66fd45afce MDEV-7398 mysqld segfaults on FreeBSD 10.1 i386 when built with clang 3.4
in cmake tests let's treat clang like gcc (same options,
same builtins) in many cases.

* don't check the compiler when
  * testing for -fvisibility=hidden support
  * testing for HAVE_ABI_CXA_DEMANGLE
  * testing for HAVE_GCC_ATOMIC_BUILTINS
  * when removing options with string(replace)
  * when running ${CC} --version (ignore the error instead)
* run ABI checks for clang
* use "canonical" gcc flags for clang
* fix groonga too

Also:

* add cmake detection for gcc __atomic_* builtins. they might be
  supported (__ATOMIC_SEQ_CST is defined), but not for all operand
  sizes. In particular, 64-bit atomic load is problematic on i386
* cache check results for Windows
* remove the test for HAVE_CXXABI_H (HAVE_ABI_CXA_DEMANGLE is
  suffifient)
2015-06-16 23:58:21 +02:00
Sergei Golubchik
7bfda275a1 MDEV-8128 cmake fails to detect boost libraries 2015-06-16 23:58:14 +02:00
Sergei Golubchik
569d2f8154 Merge branch 'connect-10.0' into 10.0 2015-06-16 23:57:49 +02:00
Sergei Golubchik
985e430c0f after-merge fixes
in innobase: compilation error on windows
other changes: perfschema merge followup
2015-06-16 23:55:56 +02:00
Jan Lindström
27f0bd7d95 Fix test case innodb.xa_recovery crash on xtradb. 2015-06-16 17:33:21 +03:00
Jan Lindström
96806025eb Fix test failure on main.partition_innodb. 2015-06-16 16:20:55 +03:00
Jan Lindström
ababe047f8 Fix crash on test innodb.innodb-virtual-columns. We should create
only columns really stored to database.
2015-06-16 15:16:53 +03:00
Jan Lindström
b83855a1c7 Fix innochecksum build failure. 2015-06-16 14:55:21 +03:00
Sergei Golubchik
5355972b71 after merge fixes: InnoDB and XtraDB 2015-06-16 12:49:00 +02:00
Sergei Golubchik
ede08808e9 Merge branch 'merge-perfschema-5.6' into 10.0 2015-06-16 12:47:58 +02:00
Sergei Golubchik
9859d366b5 Merge branch 'merge-xtradb-5.6' into 10.0 2015-06-16 12:46:14 +02:00
Sergei Golubchik
a65162a396 Merge branch 'merge-innodb-5.6' into 10.0 2015-06-16 11:08:23 +02:00
Sergei Golubchik
90849456d7 5.6.24-72.2 2015-06-16 11:04:40 +02:00
Sergei Golubchik
139ba26dba 5.6.25 2015-06-16 10:57:05 +02:00
Jan Lindström
fc31e3114b MDEV-8179: Absent progress report for operations on InnoDB tables
Add progress info on InnoDB/XtraDB row0merge phase. Note that we
do not know exact number of rounds merge sort needs at start thus
also progress report might not be accurate.
2015-06-14 17:32:21 +03:00
Sergei Golubchik
36bf482db1 MDEV-8285 compile fails under Mac OS X 10.6.8 due to use of strnlen
#include <m_string.h> where strnlen() is used
2015-06-14 15:51:34 +02:00
Sergei Golubchik
810cf362ea Merge branch '5.5' into 10.0 2015-06-11 20:20:35 +02:00
Sergei Golubchik
d199a0ffb0 more renames after tokudb merge 2015-06-11 17:47:52 +02:00
Sergei Golubchik
7c98e8a31b fix after the tokudb ft-index merge 2015-06-11 16:43:56 +02:00
Sergey Vojtovich
80f6b22593 MDEV-3870 - Valgrind warnings on OPTIMIZE MyISAM or Aria TABLE with disabled
keys

Fixed that OPTIMIZE TABLE against MyISAM/Aria table may write uninitialized key
root position for disabled keys.
2015-06-09 23:24:03 +04:00
Jan Lindström
70b82efd20 MDEV-8273: InnoDB: Assertion failure in file fil0pagecompress.cc line 532
Analysis: Problem was that actual payload size (page size) after compression
was handled incorrectly on encryption. Additionally, some of the variables
were not initialized.

Fixed by encrypting/decrypting only the actual compressed page size.
2015-06-09 11:35:21 +03:00
Jan Lindström
4a6a61cb81 MDEV-8268: InnoDB: Assertion failure in file buf0buf.cc line 5842 failing assertion ut_a(free_slot != NULL);
Analysis: Problem is that there is not enough temporary buffer slots
for pending IO requests.

Fixed by allocating same amount of temporary buffer slots as there
are max pending IO requests.
2015-06-09 11:35:21 +03:00
Jan Lindström
d7f3d889de MDEV-8272: Encryption performance: Reduce the number of unused memcpy's
Removed memcpy's on cases when page is not encrypted and make sure
we use the correct buffer for reading/writing.
2015-06-09 11:35:21 +03:00
Sergei Golubchik
b41ad55265 update tokudb version 2015-06-08 21:48:19 +02:00
Olivier Bertrand
88998cfaac Commit merge resolved files 2015-06-05 16:10:50 +02:00
Olivier Bertrand
a8b7b6c85b Commit merge resolved files 2015-06-05 10:59:15 +02:00
Sergei Golubchik
9a3b975da6 Merge branch '5.5' into bb-5.5-serg 2015-06-05 09:51:17 +02:00
Sergei Golubchik
ae0c576d46 Merge branch 'merge/merge-xtradb-5.5' into bb-5.5-serg
update tests
2015-06-05 02:14:49 +02:00
Sergei Golubchik
f84f577aa1 Merge tag 'mysql-5.5.44' into bb-5.5-serg 2015-06-05 02:06:51 +02:00
Sergei Golubchik
750aa8b09d 5.5.43-37.2 2015-06-04 18:58:12 +02:00
Jan Lindström
a8b8544a03 MDEV-7906: InnoDB: Failing assertion: prebuilt->sql_stat_start || trx->state == 1 on concurrent multi-table update
Analysis: Problem is that SQL-layer calls handler API after storage
engine has already returned error state. InnoDB does internal
rollback when it notices transaction error (e.g. lock wait timeout,
deadlock, etc.) and after this transaction is not naturally in
correct state to continue.

Fix: Do not continue fetch operations if transaction is not started.
2015-06-04 15:02:24 +03:00
Jan Lindström
f7002c05ae MDEV-8250: InnoDB: Page compressed tables are not compressed and compressed+encrypted tables cause crash
Analysis: Problem is that both encrypted tables and compressed tables use
FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION to store
required metadata. Furhermore, for only compressed tables currently
code skips compression.

Fixes:
- Only encrypted pages store key_version to FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION,
  no need to fix
- Only compressed pages store compression algorithm to FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION,
  no need to fix as they have different page type FIL_PAGE_PAGE_COMPRESSED
- Compressed and encrypted pages now use a new page type FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED and
  key_version is stored on FIL header offset FIL_PAGE_FILE_FLUSH_LSN_OR_KEY_VERSION and compression
  method is stored after FIL header similar way as compressed size, so that first
  FIL_PAGE_COMPRESSED_SIZE is stored followed by FIL_PAGE_COMPRESSION_METHOD
- Fix buf_page_encrypt_before_write function to really compress pages if compression is enabled
- Fix buf_page_decrypt_after_read function to really decompress pages if compression is used
- Small style fixes
2015-06-04 09:47:06 +03:00
Sergei Golubchik
7b05650c7d Merge tag 'tokudb-engine/tokudb-7.5.7' into 5.5 2015-06-03 20:24:51 +02:00
Sergei Golubchik
e500c471d7 Merge tag 'tokudb-ft-index/tokudb-7.5.7' into 5.5 2015-06-03 19:47:46 +02:00
Olivier Bertrand
0599d80fcc Fix swapping key numeric values on Big Endian machines.
Fix typo error in CntIndexRange (kp instead of p)
Change version date
  modified:   storage/connect/connect.cc
  modified:   storage/connect/ha_connect.cc
2015-06-03 17:37:51 +02:00
Olivier Bertrand
4821cd949e Fix swapping key numeric values on Big Endian machines.
Fix typo error in CntIndexRange for big endian swapping
  modified:   storage/connect/connect.cc
2015-06-03 11:38:34 +02:00
Olivier Bertrand
37a803c805 Fix swapping key numeric values on Big Endian machines.
Swap the key length when WORDS_BIGENDIAN is defined
Make the IOFF structure depending on WORDS_BIGENDIAN
  modified:   storage/connect/connect.cc
  modified:   storage/connect/xindex.h
2015-06-03 11:31:18 +02:00
Olivier Bertrand
65ed254468 Fix swapping key numeric values on Big Endian machines.
Change the preprocessor variable used from BIG_ENDIAN_ORDER
(only used by taoscript) to WORDS_BIGENDIAN.
  modified:   storage/connect/connect.cc
2015-06-03 10:07:33 +02:00
Olivier Bertrand
70d80305a8 Fix swapping key numeric values on Big Endian machines.
modified:   storage/connect/connect.cc
2015-06-03 02:02:21 +02:00