Commit graph

87262 commits

Author SHA1 Message Date
Jan Lindström
e667c0f926 Fix compiler error. 2014-02-28 09:05:36 +02:00
Jan Lindström
c88a0d48c6 Temporal fix for flush thread hang.
Added option to disable multi-threaded flush with innodb_use_mtflush = 0
option, by default multi-threaded flush is used.

Updated innochecksum tool, still it does not support new checksums.
2014-02-28 08:53:09 +02:00
Jan Lindström
b620e7368f Small fixes to work_item handling. 2014-02-26 19:00:24 +02:00
Jan Lindström
24235e99d8 Fixed memory leak on queue nodes by using local memory heap on normal
execution and global memory heap on shutdown.

Added a funcition to get work items from queue without waiting and
additional info when there is no work to do for a extended periods.
2014-02-25 13:15:55 +02:00
Jan Lindström
38471a6d6a Remove incorrect trim_len calculation. We have already alligned actual
page data write.
2014-02-21 12:51:03 +02:00
Jan Lindström
3c77143017 Write size was not correctly alligned to SECT_SIZE. This lead to situation
where trim corrupted the database. Fixed the issue and added temporal 
guards against unalligned write/trim.
2014-02-21 10:20:18 +02:00
Jan Lindström
24bc0314c2 Removed unnecessary memory initialization of page compressed buffer
and added guard against unalligned trim size.
2014-02-19 20:25:55 +02:00
Jan Lindström
25318038a9 Fixed hang seen on TPC-C measure phase. We should not use timedwait on threads
waiting for a job. They should sleep and let other threads to their work. At
shutdown, we know that we put "work" and that is handled as soon as possible.
2014-02-15 09:51:06 +02:00
Jan Lindström
cae21c52f6 Fix timing on queues, this could clearly lead to starvation. 2014-02-14 15:02:26 +02:00
Jan Lindström
9c614665ee Fixed compiler warnings. 2014-02-13 12:35:37 +02:00
Jan Lindström
dfc2950356 Fixed small issue with dictionary. 2014-02-13 12:23:55 +02:00
Jan Lindström
d17ecff410 Fixed issue on data dictionary corruption.
Fixed issue on multi-threaded flush at shutdown.
Removed unnecessary startup option innodb_compress_pages.
Added a new startup option innodb_mtflush_threads, default 8.
2014-02-13 09:13:56 +02:00
Jan Lindström
da927da04d Fixed issue on atomic writes and system tables. Atomic writes can be used
also on system tables but not per table.
2014-02-12 18:00:03 +02:00
Jan Lindström
1fa19bf777 Fixed issue on atomic writes setup and atomic blobs setup on system
tables.
2014-02-12 12:52:34 +02:00
Jan Lindström
f6ad325883 Code cleanup. Removed those questions that are now addressed. 2014-02-12 10:55:45 +02:00
Jan Lindström
184e302ab4 Fix compiler error if lz4 is not found on the system. 2014-02-12 07:09:06 +02:00
Jan Lindström
fa9f5f63e9 Removed unnecessary files and set lz4 under HAVE_LZ4 compiler
option using cmake find_library. Fixed bunch of compiler
warnings.
2014-02-11 20:05:09 +02:00
Jan Lindström
a5cf3a800e Merged latest mt-flush code to xtradb. Cleaned up thread statistic output
code.
2014-02-07 15:31:31 +02:00
Jan Lindström
18353c6a4d Fixed issue on file space extension. File space should be extended from
current offset to desired size if posix_fallocate is used.
2014-02-06 17:49:55 +02:00
Jan Lindström
7f3950a2ae Moved mt-flush code to buf0mtflu.[cc|h] and cleaned it up. This is for
InnoDB.
2014-02-06 17:25:26 +02:00
Jan Lindström
921d87d47c Fixed issue on xtradb shutdown merge error. Multi-threaded flush threads
where not shut down properly.
2014-02-05 15:32:29 +02:00
Jan Lindström
862b034488 Fixed compiler errors. 2014-02-04 20:08:59 +02:00
Jan Lindström
55fab3dbf4 Fixed issue on atomic writes on startup, removed incorrect assert.
Fixed issue on file space extend when posix_fallocate is used.

Merged second iteration of multi-threaded flush code.
2014-02-04 14:52:02 +02:00
Jan Lindström
8c5d5bc5de Fixed merge error on InnoDB page compression level handling.
Merged page compression feature to XtraDB storage engine.

Added feature where page compression can use lz4 compression
method (innodb_use_lz4, default OFF).
2014-02-03 10:08:15 +02:00
Jan Lindström
febe99ec8d Merge lp:maria/10.0 10.0.7 revision 3961 2014-01-27 13:00:36 +02:00
Jan Lindström
58ce55134f Removed some unnecessary assertions to debug build and enhanced the page_compression and page_compression_level fetch. 2014-01-13 15:02:31 +02:00
Jan Lindström
ec8257216e Enhancement: Change atomic_writes table option to enum type. Now every file can either use atomic writes, not use it or use default.
SYNTAX: ATOMIC_WRITES=['DEFAULT','ON','OFF']

Idea here is to be able to define innodb_doublewrite = 1 but with following rules:

ATOMIC_WRITES='DEFAULT' - if innodb_use_atomic_writes = 1, we do not write to doublewrite buffer the changes
                          if innodb_use_atomic_writes = 0, we write to doublewrite buffer
ATOMIC_WRITES='ON'      - do not write to doublewrite buffer
ATOMIC_WRITES='OFF'     - write to doublewrite buffer

Note that doublewrite buffer can't be used if innodb_doublewrite = 0.
2014-01-10 12:11:36 +02:00
Jan Lindström
2b5a0a2280 Feature: In first write if we trim we set write_size to actual bytes
written and rest of the page is trimmed. In following writes
there is no need to trim again if write_size only increases
because rest of the page is already trimmed. If actual write
size decreases we need to trim again. Need to research if this
can happen frequently enough to make any effect.
2014-01-09 12:33:29 +02:00
Jan Lindström
e80f2468b4 Fixed issues with atomic writes and compressed pages.
Temporal solution: In directFS using atomic writes
we must use posix_fallocate to extend the file because
pwrite past end of file fails but when compression is
used the file pages must be physically initialized with
zeroes, thus after file extend with posix_fallocate
we still write empty pages to file.
2014-01-09 08:30:09 +02:00
Sergei Golubchik
02765f4c61 update information_schema-big.result 2013-12-23 10:29:25 +01:00
Sergei Golubchik
90a3c97162 merge 2013-12-22 17:20:23 +01:00
Sergei Golubchik
ece56ac52a merge 10.0-connect 2013-12-22 17:18:45 +01:00
Sergei Golubchik
91b82a0f73 mtr: abort when a suite.pm fails to load, don't just ignore the errors.
Fix all suite.pm files that had errors and test files that were skipped because of that
2013-12-22 17:14:05 +01:00
Sergei Golubchik
902491c397 * change the test to use is_embedded.inc instead of a direct check
* remove is_embedded.require
2013-12-22 17:11:38 +01:00
Sergei Golubchik
d596ce67c1 mtr: move collect_default_suites() after collect_mysqld_features(),
because some suites may be disabled unless a plugin is available,
and compiled-in plugins are only known after collect_mysqld_features().

Additionally move mysql_install_db() after everything else it's collected -
it's a slow process, better do it after all the information is gathered
(and reported to the user).
2013-12-22 17:11:31 +01:00
Sergei Golubchik
3b7b79a9d1 don't install connect test suite explicitly,
plugin.cmake does it automatically for all plugins
2013-12-22 17:11:24 +01:00
Sergei Golubchik
59662bfb67 remove a deprecated API function from the plugin.h 2013-12-22 17:11:20 +01:00
Sergei Golubchik
20be6dbe9c remove duplicate function (see thd_tx_isolation()) 2013-12-22 17:11:16 +01:00
Sergei Golubchik
0562261336 mysql-test:
* rename "xtradb" combination to be called "innodb"
* disable xtradb_plugin embedded tests (because of RECOMPILE_FOR_EMBEDDED)
2013-12-22 17:10:47 +01:00
Sergei Golubchik
8e72ddbb9c use -visibility=hidden also for plugins linked statically into libmysqld
(it was used only for plugins in mysqld)
2013-12-22 17:09:16 +01:00
Sergei Golubchik
5660d6a550 put ha_xtradb.so in deb packages 2013-12-22 17:09:10 +01:00
Sergei Golubchik
536ca5715d use dynamic libaio for ha_xtradb.so 2013-12-22 17:08:50 +01:00
Sergei Golubchik
348c962c49 fix xtradb I_S tables to load 2013-12-22 17:08:22 +01:00
Sergei Golubchik
ffa8c4cfcc Percona-Server-5.6.14-rel62.0 merge
support ha_innodb.so as a dynamic plugin.
* remove obsolete *,innodb_plugin.rdiff files
* s/--plugin-load=/--plugin-load-add=/
* MYSQL_PLUGIN_IMPORT glob_hostname[]
* use my_error instead of push_warning_printf(ER_DEFAULT)
* don't use tdc_size and tc_size in a module

update test cases (XtraDB is 5.6.14, InnoDB is 5.6.10)
* copy new tests over
* disable some tests for (old) InnoDB
* delete XtraDB tests that no longer apply

small compatibility changes:
* s/HTON_EXTENDED_KEYS/HTON_SUPPORTS_EXTENDED_KEYS/
* revert unnecessary InnoDB changes to make it a bit closer to the upstream

fix XtraDB to compile on Windows (both as a static and a dynamic plugin)

disable XtraDB on Windows (deadlocks) and where no atomic ops are available (e.g. CentOS 5)


storage/innobase/handler/ha_innodb.cc:
  revert few unnecessary changes to make it a bit closer to the original InnoDB
storage/innobase/include/univ.i:
  correct the version to match what it was merged from
2013-12-22 17:06:50 +01:00
Olivier Bertrand
ec906f928b - Fix MDEV-5340
modified:
  storage/connect/odbconn.cpp
2013-12-20 12:24:24 +01:00
Alexander Barkov
f40b99626d Merge 10.0->10.0-connect 2013-12-20 13:46:45 +04:00
Alexander Barkov
a6e5ac2279 MDEV-4929 Myanmar collation 2013-12-20 12:42:33 +04:00
Jan Lindström
f6a196555e Temporally disable posix_fallocate on os_file_set_size because
currently Fusion-io SSD drive does not support setting file
size without fysically writing pages with zeroes when fallocate
with PUCH_HOLE is used.

Added additional error message if atomic write setup does not
succeed.
2013-12-20 08:59:34 +02:00
Jan Lindström
f023715fe8 Need to disable fast file extension with posix_fallocate
for Fusion-io currently.
2013-12-20 06:50:58 +02:00
Jan Lindström
9ba590930a Atomic writes require also atomic_blobs. Add that missing flag to
dictionary setting and from there it will be stored to table space.
2013-12-19 18:04:26 +02:00