Commit graph

1758 commits

Author SHA1 Message Date
calvin
b8f488a241 branches/zip: minor change
Remove an extra "with".
2009-07-14 16:03:26 +00:00
calvin
add833a538 branches/zip: add a missing file in Makefile.am
This change was suggested by MySQL.
2009-07-14 15:55:10 +00:00
vasil
8d57fae29c branches/zip: Merge r5341:5497 from branches/5.1, skipping:
c5419 because it is merge from branches/zip into branches/5.1
c5466 because the source code has been adjusted to match the MySQL
  behavior and the innodb-autoinc test does not fail in branches/zip,
  if c5466 is merged, then innodb-autoinc starts failing, Sunny suggested
  not to merge c5466.
and resolving conflicts in c5410, c5440, c5488:

  ------------------------------------------------------------------------
  r5410 | marko | 2009-06-24 22:26:34 +0300 (Wed, 24 Jun 2009) | 2 lines
  Changed paths:
     M /branches/5.1/include/trx0sys.ic
     M /branches/5.1/trx/trx0purge.c
     M /branches/5.1/trx/trx0sys.c
     M /branches/5.1/trx/trx0undo.c
  
  branches/5.1: Add missing #include "mtr0log.h" to avoid warnings
  when compiling with -DUNIV_MUST_NOT_INLINE.
  ------------------------------------------------------------------------
  r5419 | marko | 2009-06-25 16:11:57 +0300 (Thu, 25 Jun 2009) | 18 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     M /branches/5.1/mysql-test/innodb_bug42101-nonzero.result
     M /branches/5.1/mysql-test/innodb_bug42101-nonzero.test
     M /branches/5.1/mysql-test/innodb_bug42101.result
     M /branches/5.1/mysql-test/innodb_bug42101.test
  
  branches/5.1: Merge r5418 from branches/zip:
  
    ------------------------------------------------------------------------
    r5418 | marko | 2009-06-25 15:55:52 +0300 (Thu, 25 Jun 2009) | 5 lines
    Changed paths:
       M /branches/zip/ChangeLog
       M /branches/zip/handler/ha_innodb.cc
       M /branches/zip/mysql-test/innodb_bug42101-nonzero.result
       M /branches/zip/mysql-test/innodb_bug42101-nonzero.test
       M /branches/zip/mysql-test/innodb_bug42101.result
       M /branches/zip/mysql-test/innodb_bug42101.test
    
    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.
    ------------------------------------------------------------------------
  ------------------------------------------------------------------------
  r5440 | vasil | 2009-06-30 13:04:29 +0300 (Tue, 30 Jun 2009) | 8 lines
  Changed paths:
     M /branches/5.1/fil/fil0fil.c
  
  branches/5.1:
  
  Fix Bug#45814 URL reference in InnoDB server errors needs adjusting to match documentation
  
  by changing the URL from
  http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.html to
  http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting-datadict.html
  
  ------------------------------------------------------------------------
  r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb-autoinc.result
     M /branches/5.1/mysql-test/innodb-autoinc.test
  
  branches/5.1:
  
  Adjust the failing innodb-autoinc test to conform to the latest behavior
  of the MySQL code. The idea and the comment in innodb-autoinc.test come
  from Sunny.
  
  ------------------------------------------------------------------------
  r5488 | vasil | 2009-07-09 19:16:44 +0300 (Thu, 09 Jul 2009) | 13 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     A /branches/5.1/mysql-test/innodb_bug21704.result
     A /branches/5.1/mysql-test/innodb_bug21704.test
  
  branches/5.1:
  
  Fix Bug#21704 Renaming column does not update FK definition
  
  by checking whether a column that participates in a FK definition is being
  renamed and denying the ALTER in this case.
  
  The patch was originally developed by Davi Arnaut <Davi.Arnaut@Sun.COM>:
  http://lists.mysql.com/commits/77714
  and was later adjusted to conform to InnoDB coding style by me (Vasil),
  I also added some more comments and moved the bug specific mysql-test to
  a separate file to make it more manageable and flexible.
  
  ------------------------------------------------------------------------
2009-07-14 06:16:18 +00:00
calvin
0e71cfd9e2 branches/zip: fix run-time symbols clash on Solaris.
This patch is from Sergey Vojtovich of Sun Microsystems,
to fix run-time symbols clash on Solaris with older C++
compiler:
- when finding out a way to hide symbols, make decision basing
  on compiler, not operating system.
- Sun Studio supports __hidden declaration specifier for this
  purpose.
2009-07-13 18:01:00 +00:00
inaam
9af090cb0e branches/zip
Fixed warnings on windows where ulint != ib_uint64_t
2009-07-13 17:04:57 +00:00
inaam
ec40f5cd73 branches/zip rb://138 (REVERT)
Revert the flush neighbors patch as it shows regression in
the benchmarks run by Michael.
2009-07-13 14:48:45 +00:00
vasil
f1f529dd6d 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
d7f9b01105 branches/zip: add ChangeLog entries for r5484-r5486. 2009-07-10 20:47:34 +00:00
calvin
eda5850256 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
50c053adfc branches/zip:
Add ChangeLog entry for 5489.
2009-07-10 08:04:20 +00:00
vasil
95a9790ceb 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
c09f41f6f2 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
43fceb74f2 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
449e6af3c6 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
462111149c 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
b495b79f3b 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
3dded57d33 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
c43749cb5d branches/zip:
Remove unnecessary quotes and simplify plug.in.
2009-07-06 16:16:32 +00:00
vasil
900f489a19 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
35bcc4ee2b branches/zip
Non functional change. s/Percona/Percona Inc./
2009-06-30 17:21:09 +00:00
marko
3fdc16ea5b 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
28b2c54bb2 branches/zip: os_process_set_priority_boost(): Unused, remove. 2009-06-30 11:14:01 +00:00
marko
6314305e2b 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
1f62fdc8a3 branches/zip: page_set_max_trx_id(): Make the code compile
with UNIV_HOTBACKUP.
2009-06-30 11:09:49 +00:00
marko
3a2a5e5e03 branches/zip: os_file_close_no_error_handling(): Unused, remove. 2009-06-30 11:02:20 +00:00
marko
9165e0b89d 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
8e3051e675 branches/zip: mem_heap_cat(): Unused, remove. 2009-06-30 10:56:36 +00:00
marko
2fcd99e793 branches/zip: srv_que_task_queue_check(): Unused, remove. 2009-06-30 10:37:58 +00:00
marko
79f2491f48 branches/zip: srv_que_round_robin(), srv_que_task_enqueue(): Unused, remove. 2009-06-30 10:35:45 +00:00
marko
67743761f1 branches/zip: row_build_row_ref_from_row(): Unused, remove. 2009-06-30 10:28:11 +00:00
marko
be74c36d13 branches/zip: que_graph_try_free(): Unused, remove. 2009-06-30 10:19:49 +00:00
marko
5d548333b2 branches/zip: os_event_create_auto(): Unused, remove. 2009-06-30 10:03:00 +00:00
marko
d14628a8d9 branches/zip: lock_is_on_table(), lock_table_unlock(): Unused, remove. 2009-06-30 09:45:41 +00:00
marko
40f2324152 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
f4a5ab606c 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
6a44d90b74 branches/zip: fseg_free(): Remove this unused function. 2009-06-30 08:10:32 +00:00
marko
f6eb4a4a6e branches/zip: ibuf_dummy_index_free(): Beautify the comment. 2009-06-30 08:10:01 +00:00
marko
5b7e5de78b branches/zip: Revert an accidentally made change in r5430 to univ.i. 2009-06-29 12:58:40 +00:00
marko
ee7d42579c branches/zip: lock_rec_validate_page(): Add another assertion
to track down Issue .
2009-06-29 12:58:07 +00:00
marko
6bfbdb2d0d 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
9e8ba2765d 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
4a447cde2e 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
17105a0ad9 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
3bc2b8f158 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
95aaddbe70 branches/zip: Fix typos. 2009-06-26 19:52:52 +00:00
marko
bb0e1c34df 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
3b765849d4 branches/zip: ha_innodb.cc: Move the misplaced Doxygen @file comment. 2009-06-25 11:20:56 +00:00
marko
dcd851bcbe 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
943c28d5a8 branches/zip: Replace a DBUG_ASSERT with ut_a to track down Issue . 2009-06-25 09:27:08 +00:00
calvin
73823ce1d2 branches/zip: remove relative path of header files.
Suggested by Marko.
2009-06-24 12:51:08 +00:00