Commit graph

1783 commits

Author SHA1 Message Date
marko
50accfee1f branches/zip: lock_rec_validate_page(): Add the parameter zip_size.
This should help track down Mantis Issue #289.
2009-08-05 11:27:30 +00:00
marko
1e2f899bf7 branches/zip: Replace <number> with NUMBER in some comments,
to avoid problems with Doxygen XML output.
2009-08-05 10:06:55 +00:00
marko
f688fe8344 branches/zip: mysql-test: Pass MTR's internal checks. 2009-08-04 10:42:44 +00:00
vasil
3badcb430d branches/zip:
Revert the dummy change from c5625.
2009-08-04 04:53:31 +00:00
vasil
bf87e144f5 branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622
(after resolving the conflict Makefile.am was not changed so I have made
a dummy change so I can commit and thus record that branches/5.1 has been
merged in branches/zip up to 5622):

  ------------------------------------------------------------------------
  r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines
  Changed paths:
     M /branches/5.1/Makefile.am
  
  branches/5.1:
  
  Merge a change from MySQL:
  
    ------------------------------------------------------------
    revno: 2988
    committer: Satya B <satya.bn@sun.com>
    branch nick: mysql-5.1-bugteam
    timestamp: Wed 2009-07-01 11:06:05 +0530
    message:
      Fix build failure after applying Innodb snapshot 5.1-ss5282
      
      After applying Innodb snapshot 5.1-ss5282, build was broken
      because of missing header file. 
      
      Adding the header file to Makefile.am after informing the 
      innodb developers.
    modified:
      storage/innobase/Makefile.am
  
  ------------------------------------------------------------------------
2009-08-04 04:52:48 +00:00
vasil
804a967faf branches/zip:
Add fsp0types.h to the list of noinst_HEADERS

Suggested by:	Sergey Vojtovich <svoj@sun.com>
2009-07-31 14:09:07 +00:00
vasil
45d714100e branches/zip:
Add a test program to check whether the PAUSE instruction is available.
2009-07-21 09:28:27 +00:00
vasil
6ee3b05540 branches/zip:
Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per
line.
2009-07-21 08:31:26 +00:00
sunny
831c08e3a5 branches/zip: For HotBackup builds we don't want to hide the symbols. 2009-07-20 20:56:30 +00:00
calvin
6a8ebde8c6 branches/zip: add ChangeLog entry for r5524. 2009-07-20 16:14:30 +00:00
inaam
466272e043 branches/zip
Change the read ahead parameter name to innodb_read_ahead_threshold.
Change the meaning of this parameter to signify the number of pages
that must be sequentially accessed for InnoDB to trigger a readahead
request.

Suggested by: Ken
2009-07-20 15:23:15 +00:00
vasil
63efe9bb93 branches/zip:
Add ChangeLog entries for r5498 and r5519.
2009-07-20 07:51:47 +00:00
vasil
417b612afe branches/zip: Merge r5497:5518 from branches/5.1:
------------------------------------------------------------------------
  r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
  
  branches/5.1:
  
  Merge a change from MySQL:
  
    ------------------------------------------------------------
    revno: 2874.2.1
    committer: Anurag Shekhar <anurag.shekhar@sun.com>
    branch nick: mysql-5.1-bugteam-windows-warning
    timestamp: Wed 2009-05-13 15:41:24 +0530
    message:
      Bug #39802 On Windows, 32-bit time_t should be enforced
      
      This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', 
      possible loss of data". 
      The fix is to typecast time_t to ulong before assigning it to ulong. 
      Backported this from 6.0-bugteam tree.
    modified:
      storage/archive/ha_archive.cc
      storage/federated/ha_federated.cc
      storage/innobase/handler/ha_innodb.cc
      storage/myisam/ha_myisam.cc
  
  ------------------------------------------------------------------------
2009-07-20 07:45:18 +00:00
sunny
227598fe11 Add /* UNIV_HOTBACK */ 2009-07-20 06:55:11 +00:00
sunny
2eaded2ed3 branches/zip: Make this file usable from within HotBackup. A new file has
been introduced called hb_univ.i. This file should have all the HotBackup
specific configuration.
2009-07-20 06:46:05 +00:00
sunny
f51d10ff22 branches/zip: The dict_table_t::autoinc_mutex field is not used in HotBackup. 2009-07-20 06:29:14 +00:00
sunny
b3486877f6 branches/zip: Only use my_bool when UNIV_HOTBACKUP is not defined. 2009-07-19 23:08:49 +00:00
sunny
853162bfc5 branches/zip: Undo r5512 2009-07-19 22:58:43 +00:00
sunny
e33d544a7b branches/zip: Remove unused extern ref to timed_mutexes. 2009-07-19 22:52:48 +00:00
calvin
cf904959ef branches/zip: add ChangeLog entry for r5508. 2009-07-16 12:45:28 +00:00
calvin
0cab764c19 branches/zip: Support inlining of functions and prefetch with
Sun Studio

Those changes are contributed by Sun/MySQL. Two sets of changes
in this patch when Sun Studio is used:
- Explicit inlining of functions
- Prefetch Support

This patch has been tested by Sunny with the plugin statically
built in. Since we've never built the plugin as a dynamically
loaded module on Solaris, it is a separate task to change
plug.in.

rb://142
Approved by: Heikki
2009-07-16 12:40:47 +00:00
calvin
9f38de7b71 branches/zip: fix compile errors on Win64
Both srv_read_ahead_factor and srv_io_capacity should
be defined as ulong.

Approved by: Sunny
2009-07-15 07:58:44 +00:00
vasil
31f0f5e48a branches/zip:
Non-functional change:
put files in noinst_HEADERS and libinnobase_a_SOURCES one per line and sort
alphabetically, so it is easier to find if a file is there or not and
also diffs show exactly the added or removed file instead of surrounding
lines too.
2009-07-14 17:16:11 +00:00
vasil
426220c1c1 branches/zip:
Add include/ut0auxconf.h to noinst_HEADERS
2009-07-14 16:59:59 +00:00
vasil
e3bcd0e931 branches/zip:
Add @ZLIB_INCLUDES@ so that the InnoDB Plugin picks up the same zlib.h
header file that is eventually used by mysqld.
2009-07-14 16:58:15 +00:00
calvin
5b55b818b9 branches/zip: minor change
Remove an extra "with".
2009-07-14 16:03:26 +00:00
calvin
a4640b9ff7 branches/zip: add a missing file in Makefile.am
This change was suggested by MySQL.
2009-07-14 15:55:10 +00:00
vasil
4cb1a62391 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 #45749)
    When innodb_commit_concurrency is initially set nonzero,
    DEFAULT would change it back to 0, triggering Bug #42101.
    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
1aa91d2331 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
e6e892f2e2 branches/zip
Fixed warnings on windows where ulint != ib_uint64_t
2009-07-13 17:04:57 +00:00
inaam
cda2536827 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
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