Commit graph

1752 commits

Author SHA1 Message Date
vasil
69963776f3 branches/zip:
Restore the original value of innodb_sync_spin_loops at the end, previously
the test assumed that setting it to 20 will do this, but now the default is
30 and MTR's internal check failed.
2009-07-13 06:37:35 +00:00
calvin
6cf6384b51 branches/zip: add ChangeLog entries for r5484-r5486. 2009-07-10 20:47:34 +00:00
calvin
fef8a7a8c8 branches/zip: add copyright info to files related to PAUSE
instruction patch, contributed by Sun Microsystems.
2009-07-10 15:19:17 +00:00
vasil
d3241a301c branches/zip:
Add ChangeLog entry for 5489.
2009-07-10 08:04:20 +00:00
vasil
492180f34f branches/zip:
Change the defaults for
innodb_sync_spin_loops: 20 -> 30
innodb_spin_wait_delay: 5 -> 6

This change was proposed by Sun/MySQL based on their performance testing,
see https://svn.innodb.com/innobase/Release_tasks_for_InnoDB_Plugin_V1.0.4
2009-07-10 08:02:22 +00:00
calvin
e0d67bc470 branches/zip: fix PAUSE instruction patch on Windows
The original PAUSE instruction patch (r5470) does not
compile on Windows. Also, there is an elegant way of
doing it on Windows - YieldProcessor().

Approved by: Heikki (on IM)
2009-07-08 15:42:28 +00:00
inaam
6e6d1e8655 branches/zip rb://133
This patch introduces heuristics based flushing rate of dirty pages to
avoid IO bursts at checkpoint.

1) log_capacity / log_generated per second gives us number of seconds
in which ALL dirty pages need to be flushed. Based on this rough
assumption we can say that
n_dirty_pages / (log_capacity / log_generation_rate) = desired_flush_rate

2) We use weighted averages (hard coded to 20 seconds) of
log_generation_rate to avoid resonance.

3) From the desired_flush_rate we subtract the number of pages that have
been flushed due to LRU flushing. That gives us pages that we should
flush as part of flush_list cleanup. And that is the number (capped by
maximum io_capacity) that we try to flush from the master thread.

Knobs:
======

innodb_adaptive_flushing: boolean, global, dynamic, default TRUE.
Since this heuristic is very experimental and has the potential to
dramatically change the IO pattern I think it is a good idea to leave a
knob to turn it off.

Approved by: Heikki
2009-07-08 15:11:40 +00:00
inaam
b6cb94ed20 branches/zip rb://138
The current implementation is to try to flush the neighbors of every
page that we flush. This patch makes the following distinction:

1) If the flush is from flush_list AND
2) If the flush is intended to move the oldest_modification LSN ahead
(this happens when a user thread sees little space in the log file and
attempts to flush pages from the buffer pool so that a checkpoint can
be made)

THEN

Do not try to flush the neighbors. Just focus on flushing dirty pages at
the end of flush_list

Approved by: Heikki
2009-07-07 22:00:49 +00:00
inaam
a1955cd228 branches/zip rb://126
Based on contribution from Google Inc.
This patch introduces a new parameter innodb_io_capacity to control the
rate at which master threads performs various tasks. The default value
is 200 and higher values imply more aggressive flushing and ibuf merges
from within the master thread.
This patch also changes the ibuf merge from synchronous to asynchronous.
Another minor change is not to force the master thread to wait for a
log flush to complete every second.

Approved by: Heikki
2009-07-07 21:57:14 +00:00
calvin
d7d19d4cac branches/zip: add IB_HAVE_PAUSE_INSTRUCTION to CMake.
Windows will support PAUSE instruction by default.
2009-07-07 08:36:43 +00:00
calvin
38a8250dd3 branches/zip: add COPYING files for Percona and Sun Micro.
1.0.4 contains patches based on contributions from Percona
and Sun Microsystems.
2009-07-06 21:36:35 +00:00
vasil
1213eacbe6 branches/zip:
Remove unnecessary quotes and simplify plug.in.
2009-07-06 16:16:32 +00:00
vasil
86d75ba995 branches/zip:
Use PAUSE instruction inside spinloop if it is available.

The patch was originally developed by Mikael Ronstrom <mikael@mysql.com>
and can be found here:
http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2768
http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2771
http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2772
http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2774
http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2777
http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2799
http://bazaar.launchpad.net/%7Emysql/mysql-server/mysql-5.4/revision/2800

Approved by:	Heikki (rb://137)
2009-07-02 12:12:36 +00:00
inaam
1d2964d3c4 branches/zip
Non functional change. s/Percona/Percona Inc./
2009-06-30 17:21:09 +00:00
marko
25210863bc branches/zip: Replace a non-ASCII character
(ISO 8859-1 encoded U+00AD SOFT HYPHEN) with a cheap ASCII substitute.
2009-06-30 11:42:52 +00:00
marko
d860653ed6 branches/zip: os_process_set_priority_boost(): Unused, remove. 2009-06-30 11:14:01 +00:00
marko
0cf7a81e63 branches/zip: os_file_close_no_error_handling(): Restore,
as this function is used within InnoDB Hot Backup.
2009-06-30 11:10:26 +00:00
marko
8022fdce65 branches/zip: page_set_max_trx_id(): Make the code compile
with UNIV_HOTBACKUP.
2009-06-30 11:09:49 +00:00
marko
4f6ae6d53a branches/zip: os_file_close_no_error_handling(): Unused, remove. 2009-06-30 11:02:20 +00:00
marko
2a7127d672 branches/zip: innobase_start_or_create_for_mysql():
Invoke os_get_os_version() at most once.
2009-06-30 11:00:50 +00:00
marko
0b3a733ebe branches/zip: mem_heap_cat(): Unused, remove. 2009-06-30 10:56:36 +00:00
marko
caae79a31a branches/zip: srv_que_task_queue_check(): Unused, remove. 2009-06-30 10:37:58 +00:00
marko
5a3a65632c branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. 2009-06-30 10:35:45 +00:00
marko
b87271bdf6 branches/zip: row_build_row_ref_from_row(): Unused, remove. 2009-06-30 10:28:11 +00:00
marko
9b71158a8a branches/zip: que_graph_try_free(): Unused, remove. 2009-06-30 10:19:49 +00:00
marko
1a68df2ac5 branches/zip: os_event_create_auto(): Unused, remove. 2009-06-30 10:03:00 +00:00
marko
2f799d5659 branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. 2009-06-30 09:45:41 +00:00
marko
36435207bd branches/zip: ha_delete(): Remove this unused function that was
very similar to ha_search_and_delete_if_found().
2009-06-30 09:30:14 +00:00
marko
613d263a24 branches/zip: fseg_validate(): Enclose in #ifdef UNIV_DEBUG.
This function is unused, but it could turn out to be a useful debugging aid.
2009-06-30 08:15:22 +00:00
marko
a300e54652 branches/zip: fseg_free(): Remove this unused function. 2009-06-30 08:10:32 +00:00
marko
6ca41a1464 branches/zip: ibuf_dummy_index_free(): Beautify the comment. 2009-06-30 08:10:01 +00:00
marko
196db244ee branches/zip: Revert an accidentally made change in r5430 to univ.i. 2009-06-29 12:58:40 +00:00
marko
fedd0d8134 branches/zip: lock_rec_validate_page(): Add another assertion
to track down Issue .
2009-06-29 12:58:07 +00:00
marko
9ccd76ec1f branches/zip: Do not crash on SET GLOBAL innodb_file_format=DEFAULT
or SET GLOBAL innodb_file_format_check=DEFAULT.

innodb_file_format.test: New test for innodb_file_format and
innodb_file_format_check.

innodb_file_format_name_validate(): Store the string in *save.
innodb_file_format_name_update(): Check the string again.

innodb_file_format_check_validate(): Store the string in *save.
innodb_file_format_check_update(): Check the string again.

Issue , rb://140 approved by Heikki Tuuri
2009-06-29 12:49:54 +00:00
marko
9c2517a322 branches/zip: row_sel_store_mysql_rec(): Add missing pointer cast.
Do not do arithmetics on void pointers.
2009-06-29 10:06:29 +00:00
marko
2f800f4f2c branches/zip: lock_print_info_all_transactions(), buf_read_recv_pages():
Tolerate missing tablespaces (zip_size==ULINT_UNDEFINED).
buf_page_get_gen(): Add ut_ad(ut_is_2pow(zip_size)).

Issue , rb://136 approved by Sunny Bains
2009-06-29 08:54:53 +00:00
marko
cc50421173 branches/zip: buf_page_get_gen(): Fix a race condition when reading
buf_fix_count.  This could explain Issue .
Tested by Michael.
2009-06-29 08:24:27 +00:00
marko
e3abdf8239 branches/zip: ha_innobase::add_index(), ha_innobase::final_drop_index():
Start prebuilt->trx before locking the table.  This should fix Issue 
and could fix Issue .
Approved by Sunny (over IM).
2009-06-29 07:52:30 +00:00
calvin
1caf63b288 branches/zip: Fix typos. 2009-06-26 19:52:52 +00:00
marko
0e2cfb86b6 branches/zip: Fix a race condition caused by
SET GLOBAL innodb_commit_concurrency=DEFAULT. (Bug )
When innodb_commit_concurrency is initially set nonzero,
DEFAULT would change it back to 0, triggering Bug .
rb://139 approved by Heikki Tuuri.
2009-06-25 11:55:52 +00:00
marko
15d7933ffe branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. 2009-06-25 11:20:56 +00:00
marko
818a252bb0 branches/zip: dict_index_find_cols(): Print diagnostic on name mismatch.
This addresses Bug  but does not fix it.
rb://135 approved by Sunny Bains.
2009-06-25 09:45:57 +00:00
marko
10b912ce0a branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue . 2009-06-25 09:27:08 +00:00
calvin
bc953443bb branches/zip: remove relative path of header files.
Suggested by Marko.
2009-06-24 12:51:08 +00:00
calvin
f799db1d8c branches/zip: change the header file path.
Change the header file path from ../storage/innobase/include/
to ../include/. In the planned 5.1 + plugin release, the source
directory of the plugin will not be in storage/innobase.

Approved by: Heikki (IM)
2009-06-23 19:59:42 +00:00
pekka
c9f7c43a2f branches/zip: Add functions for checking the format of tablespaces
for Hot Backup build (UNIV_HOTBACKUP defined).
This change should not affect !UNIV_HOTBACKUP build.
2009-06-22 12:46:34 +00:00
pekka
9f124eb595 branches/zip: Minor changes for Hot Backup to build correctly. (The
code bracketed between #ifdef UNIV_HOTBACKUP and #endif /* UNIV_HOTBACKUP */).
This change should not affect !UNIV_HOTBACKUP build.
2009-06-22 12:27:55 +00:00
marko
bc991b7254 branches/zip: ha_innobase::check_if_incompatible_data(): When
ROW_FORMAT=DEFAULT, do not compare to get_row_type().
Without this change, fast index creation will be disabled
in recent versions of MySQL 5.1.
2009-06-22 10:58:20 +00:00
marko
30586d3757 branches/zip: buf_page_get_zip(): Fix a bogus warning about
block_mutex being possibly uninitialized.
2009-06-22 08:31:35 +00:00
marko
3b5d593438 branches/zip: row_merge_read_rec(): Fix a UNIV_DEBUG bug (Bug ) 2009-06-17 12:03:45 +00:00