Merge lp:~hrvojem/percona-server/rn-5.5.28-29.2 into lp:percona-server/5.5

Proposed by Hrvoje Matijakovic
Status: Merged
Approved by: Laurynas Biveinis
Approved revision: no longer in the source branch.
Merged at revision: 360
Proposed branch: lp:~hrvojem/percona-server/rn-5.5.28-29.2
Merge into: lp:percona-server/5.5
Diff against target: 275 lines (+106/-16)
8 files modified
doc/source/conf.py (+1/-1)
doc/source/management/changed_page_tracking.rst (+19/-1)
doc/source/management/innodb_expand_import.rst (+5/-0)
doc/source/management/innodb_fake_changes.rst (+10/-0)
doc/source/performance/innodb_fast_checksum.rst (+4/-0)
doc/source/release-notes/Percona-Server-5.5.28-29.1.rst (+1/-1)
doc/source/release-notes/Percona-Server-5.5.28-29.2.rst (+47/-0)
doc/source/upstream-bug-fixes.rst (+19/-13)
To merge this branch: bzr merge lp:~hrvojem/percona-server/rn-5.5.28-29.2
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Approve
Review via email: mp+138461@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

   changed_page_tracking.rst should not mention version-specific
   changes just yet, as this is a feature in development (the max
   bitmap file variable description can have the version it was
   introduced in). The whole page needs to be edited assuming the
   presence of multiple bitmap files throughout.

   Bug 898306, 917942, 1064326 credits: Mark Callaghan, Laurynas
   Biveinis. In general we should acknowledge 3rd party patches we
   take.

   Bug 1076892 can be moved to "other fixes", no need for
   description.

review: Needs Fixing
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'doc/source/conf.py'
2--- doc/source/conf.py 2012-10-31 16:45:42 +0000
3+++ doc/source/conf.py 2012-12-06 15:13:28 +0000
4@@ -54,7 +54,7 @@
5 # The short X.Y version.
6 version = '5.5'
7 # The full version, including alpha/beta/rc tags.
8-release = '5.5.28-29.1'
9+release = '5.5.28-29.2'
10
11 # The language for content autogenerated by Sphinx. Refer to documentation
12 # for a list of supported languages.
13
14=== modified file 'doc/source/management/changed_page_tracking.rst'
15--- doc/source/management/changed_page_tracking.rst 2012-09-27 09:13:48 +0000
16+++ doc/source/management/changed_page_tracking.rst 2012-12-06 15:13:28 +0000
17@@ -4,7 +4,14 @@
18 XtraDB changed page tracking
19 =============================
20
21-XtraDB now tracks the pages that have changes written to them according to the redo log. This information is written out in a special changed page bitmap file. This information can be used to speed up incremental backups using `Percona XtraBackup <http://www.percona.com/doc/percona-xtrabackup/>`_, by removing the need to scan whole data files to find the changed pages. This change tracking is done by a new XtraDB worker thread that reads and parses log records between checkpoints. The tracking is controlled by a new read-only server variable :variable:`innodb_track_changed_pages`.
22+|XtraDB| now tracks the pages that have changes written to them according to the redo log. This information is written out in special changed page bitmap files. This information can be used to speed up incremental backups using `Percona XtraBackup <http://www.percona.com/doc/percona-xtrabackup/>`_ by removing the need to scan whole data files to find the changed pages. Changed page tracking is done by a new |XtraDB| worker thread that reads and parses log records between checkpoints. The tracking is controlled by a new read-only server variable :variable:`innodb_track_changed_pages`.
23+
24+Bitmap filename format used for changed page tracking is ``ib_modified_log_<seq>_<startlsn>.xdb``. The first number is the sequence number of the bitmap log file and the *startlsn* number is the starting LSN number of data tracked in that file. Example of the bitmap log files should look like this: ::
25+
26+ ib_modified_log_1_0.xdb
27+ ib_modified_log_2_1603391.xdb
28+
29+Sequence number can be used to easily check if all the required bitmap files are present. Start LSN number will be used in |XtraBackup| and ``INFORMATION_SCHEMA`` queries to determine which files have to be opened and read for the required LSN interval data. The bitmap file is rotated on each server restart and whenever the current file size reaches the predefined maximum. This maximum is controlled by a new :variable:`innodb_max_bitmap_file_size` variable.
30
31 This feature will be used for implementing faster incremental backups that use this information to avoid full data scans in |Percona XtraBackup|.
32
33@@ -42,3 +49,14 @@
34 :vartype: Boolean
35 :default: 0 - False
36 :range: 0-1
37+
38+.. variable:: innodb_max_bitmap_file_size
39+
40+ :version 5.5.28-29.2: Variable introduced
41+ :cli: Yes
42+ :conf: Yes
43+ :scope: Global
44+ :dyn: Yes
45+ :vartype: Numeric
46+ :default: 104857600 (100 MB)
47+ :range: 4096 (4KB) - 18446744073709551615 (16EB)
48
49=== modified file 'doc/source/management/innodb_expand_import.rst'
50--- doc/source/management/innodb_expand_import.rst 2012-09-04 23:24:39 +0000
51+++ doc/source/management/innodb_expand_import.rst 2012-12-06 15:13:28 +0000
52@@ -14,6 +14,11 @@
53
54 This feature is unsupported with InnoDB data files created with MySQL 5.0 and MySQL 5.1 prior to version 5.1.7 due to InnoDB file format limitation. It may work in some cases, but may result in crashes on import as well, see bug :bug:`1000221` and bug :bug:`727704` for examples and details.
55
56+|Percona Server| :rn:`5.5.28-29.2` extended the ``innochecksum`` with an option :option:`-f` to read the file format information from a given |InnoDB| data file. As only the first page needs to be read to detect the format/version information, it can also be used on a running server. Example of the output should look like this: ::
57+
58+ $ innochecksum -f ibdata1
59+ Detected file format: Antelope (5.1.7 or newer).
60+
61 Example
62 =======
63
64
65=== modified file 'doc/source/management/innodb_fake_changes.rst'
66--- doc/source/management/innodb_fake_changes.rst 2012-09-04 23:24:39 +0000
67+++ doc/source/management/innodb_fake_changes.rst 2012-12-06 15:13:28 +0000
68@@ -43,6 +43,16 @@
69
70 This variable enables the *Fake Changes* feature.
71
72+.. variable:: innodb_locking_fake_changes
73+
74+ :version 5.5.28-29.2: Introduced
75+ :scope: ``GLOBAL``
76+ :type: ``BOOLEAN``
77+ :dyn: ``YES``
78+ :default: ``TRUE``
79+
80+ When this variable is set to ``FALSE``, it makes fake transactions not to take any row locks. This feature was implemented because, although fake change transactions downgrade the requested exclusive (X) row locks to shared (S) locks, these S locks prevent X locks from being taken and block the real changes. However, this option is not safe to set to FALSE by default, because the fake changes implementation is not ready for lock-less operation for all workloads. Namely, if a real transaction will remove a row that a fake transaction is doing a secondary index maintenance for, the latter will fail. This option is considered experimental and might be removed in the future if lockless operation mode fixes are implemented.
81+
82 Implementation Details
83 ======================
84
85
86=== modified file 'doc/source/performance/innodb_fast_checksum.rst'
87--- doc/source/performance/innodb_fast_checksum.rst 2012-09-27 09:13:48 +0000
88+++ doc/source/performance/innodb_fast_checksum.rst 2012-12-06 15:13:28 +0000
89@@ -4,6 +4,10 @@
90 Fast |InnoDB| Checksum
91 ========================
92
93+.. warning::
94+
95+ This feature has been deprecated after |Percona Server| :rn:`5.5.28-29.2`.
96+
97 |InnoDB| writes a checksum at the end of each data page in order to detect data files corruption. However computing this checksum requires CPU cycles and in some circumstances this extra overhead can become significant.
98
99 |XtraDB| can use a more CPU-efficient algorithm, based on 4-byte words, which can be beneficial for some workloads (for instance write-heavy workloads on servers that can perform lots of IO).
100
101=== modified file 'doc/source/release-notes/Percona-Server-5.5.28-29.1.rst'
102--- doc/source/release-notes/Percona-Server-5.5.28-29.1.rst 2012-10-26 14:09:09 +0000
103+++ doc/source/release-notes/Percona-Server-5.5.28-29.1.rst 2012-12-06 15:13:28 +0000
104@@ -18,7 +18,7 @@
105
106 |Percona Server| would disconnect clients if ``gdb`` was attached and detached. This was caused by wrong signal handling. Bugs fixed: :bug:`805805` and :bug:`1060136` (upstream |MySQL| bug :mysqlbug:`67052`) (*Laurynas Biveinis*).
107
108- Fixed the upstream |MySQL| bug :mysqlbug:`62856`, where slave server would crash after update statement. Bug fixed :bug:`1053342` (*George Ormond Lorch III*).
109+ Fixed the upstream |MySQL| bug :mysqlbug:`66890`, where slave server would crash after update statement. Bug fixed :bug:`1053342` (*George Ormond Lorch III*).
110
111 Reads from tablespaces being deleted would result in buffer pool locking error. This regression was introduced by porting the recently introduced InnoDB code to XtraDB in |Percona Server| :rn:`5.5.27-28.0`. Bug fixed :bug:`1042640` (*Stewart Smith*).
112
113
114=== added file 'doc/source/release-notes/Percona-Server-5.5.28-29.2.rst'
115--- doc/source/release-notes/Percona-Server-5.5.28-29.2.rst 1970-01-01 00:00:00 +0000
116+++ doc/source/release-notes/Percona-Server-5.5.28-29.2.rst 2012-12-06 15:13:28 +0000
117@@ -0,0 +1,47 @@
118+.. rn:: 5.5.28-29.2
119+
120+===============================
121+ |Percona Server| 5.5.28-29.2
122+===============================
123+
124+Percona is glad to announce the release of |Percona Server| 5.5.28-29.2 on December 7th, 2012 (Downloads are available `here <http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-5.5.28-29.2/>`_ and from the `Percona Software Repositories <http://www.percona.com/docs/wiki/repositories:start>`_).
125+
126+Based on `MySQL 5.5.28 <http://dev.mysql.com/doc/refman/5.5/en/news-5.5.28.html>`_, including all the bug fixes in it, |Percona Server| 5.5.28-29.2 is now the current stable release in the 5.5 series. All of |Percona|'s software is open-source and free, all the details of the release can be found in the `5.5.28-29.2 milestone at Launchpad <https://launchpad.net/percona-server/+milestone/5.5.28-29.2>`_.
127+
128+New Features
129+============
130+
131+ Multiple bitmap file support for :ref:`changed_page_tracking` has been implemented.
132+
133+ |Percona Server| now has an option to build the binary tarball with enabled debugging. New flag :option:`--dubug` has been added to the build script, that will create a build with the debug-enabled binaries. New binaries will have ``-debug`` appended in case it is a debug build, ie. ``mysqld-debug``.
134+
135+ :ref:`handlersocket_page` has been updated to version 1.1.0
136+
137+ ``innochecksum`` has been extended with an option to read file format information from a given InnoDB data file. As only the first page needs to be read to detect the format/version information, it can also be used on a running server. This information can be useful when doing the :ref:`innodb_expand_import_page`.
138+
139+ :ref:`innodb_fake_changes_page` has been improved by fetching the sibling pages.
140+
141+ :ref:`innodb_fast_checksum_page` feature has now been deprecated.
142+
143+Bug Fixes
144+=========
145+
146+ :variable:`innodb_fake_changes` didn't handle duplicate keys on ``REPLACE``. In some cases this could cause infinite loop. Bug fixed :bug:`898306` (*Mark Callaghan*, *Laurynas Biveinis*).
147+
148+ Fixed the package dependencies for CentOS 6, that caused conflicts during the install. Bug fixed :bug:`908620` (*Ignacio Nin*).
149+
150+ :variable:`innodb_fake_changes` would allocate too many extents on ``UPDATE``. In some cases this could cause infinite loop. Bug fixed :bug:`917942` (*Mark Callaghan*, *Laurynas Biveinis*).
151+
152+ Fixed the upstream bug :mysqlbug:`67737`. ``mysqldump`` test would fail due to mixing STDOUT and STDERR. Bug fixed :bug:`959198` (*Stewart Smith*).
153+
154+ Although fake change transactions downgrade the requested exclusive (X) row locks to shared (S) locks, these S locks prevent X locks from being taken and block the real changes. This fix introduces a new option :variable:`innodb_locking_fake_changes` which, when set to ``FALSE``, makes fake transactions not to take any row locks. Bug fixed :bug:`1064326` (*Mark Callaghan*, *Laurynas Biveinis*).
155+
156+ Fake changes were increasing the changed row and userstat counters. Bug fixed :bug:`1064333` (*Laurynas Biveinis*).
157+
158+ Log tracking was initialized too late during the |InnoDB| startup. Bug fixed :bug:`1076892` (*Laurynas Biveinis*).
159+
160+ Debuginfo *Debian* packages have been added for |Percona Server|. Bugs fixed :bug:`711062` and :bug:`1043873` (*Ignacio Nin*).
161+
162+ There is no need to scan buffer pool for AHI entries after the B-trees for the tablespace have been dropped, as that will already clean them. Bug fixed :bug:`1076215` (*Laurynas Biveinis*).
163+
164+Other bug fixes: bug fixed :bug:`890404` (*Laurynas Biveinis*), bug fixed :bug:`1071877` (*Laurynas Biveinis*), bug fixed :bug:`1050466` (*Laurynas Biveinis*), bug fixed :bug:`719386` (*Alexey Kopytov*).
165
166=== modified file 'doc/source/upstream-bug-fixes.rst'
167--- doc/source/upstream-bug-fixes.rst 2012-10-31 16:45:42 +0000
168+++ doc/source/upstream-bug-fixes.rst 2012-12-06 15:13:28 +0000
169@@ -5,57 +5,63 @@
170 =============================================================
171
172 +-------------------------------------------------------------------------------------------------------------+
173+|:Upstream bug: :mysqlbug:`67737` - mysqldump test sometimes fails due to mixing stdout and stderr |
174+|:Launchpad bug: :bug:`959198` |
175+|:Upstream state: Verified (checked on 2012-12-06) |
176+|:Fix Released: :rn:`5.5.28-29.2` |
177+|:Upstream fix: N/A |
178++-------------------------------------------------------------------------------------------------------------+
179 |:Upstream bug: :mysqlbug:`62856` - Check for "stack overrun" doesn't work with gcc-4.6, server crashes |
180 |:Launchpad bug: :bug:`1042517` |
181-|:Upstream state: Verified (checked on 2012-10-31) |
182+|:Upstream state: Verified (checked on 2012-12-06) |
183 |:Fix Released: :rn:`5.5.28-29.1` |
184 |:Upstream fix: N/A |
185 +-------------------------------------------------------------------------------------------------------------+
186 |:Upstream bug: :mysqlbug:`61180` - korr/store macros in my_global.h assume the argument to be a char pointer |
187 |:Launchpad bug: :bug:`1042517` |
188-|:Upstream state: Verified (checked on 2012-10-31) |
189+|:Upstream state: Verified (checked on 2012-12-06) |
190 |:Fix Released: :rn:`5.5.27-29.0` |
191 |:Upstream fix: N/A |
192 +-------------------------------------------------------------------------------------------------------------+
193 |:Upstream bug: :mysqlbug:`61179` - Unoptimized versions of korr/store macros in my_global.h are used on ... |
194 |:Launchpad bug: :bug:`1042517` |
195-|:Upstream state: Verified (checked on 2012-10-31) |
196+|:Upstream state: Verified (checked on 2012-12-06) |
197 |:Fix Released: :rn:`5.5.27-29.0` |
198 |:Upstream fix: N/A |
199 +-------------------------------------------------------------------------------------------------------------+
200 |:Upstream bug: :mysqlbug:`61178` - Incorrect implementation of intersect(ulonglong) in non-optimized Bitmap..|
201 |:Launchpad bug: :bug:`1042517` |
202-|:Upstream state: Verified (checked on 2012-10-31) |
203+|:Upstream state: Verified (checked on 2012-12-06) |
204 |:Fix Released: :rn:`5.5.27-29.0` |
205 |:Upstream fix: N/A |
206 +-------------------------------------------------------------------------------------------------------------+
207 |:Upstream bug: :mysqlbug:`54127` - mysqld segfaults when built using --with-max-indexes=128 |
208 |:Launchpad bug: :bug:`1042517` |
209-|:Upstream state: Verified (checked on 2012-10-31) |
210+|:Upstream state: Verified (checked on 2012-12-06) |
211 |:Fix Released: :rn:`5.5.27-29.0` |
212 |:Upstream fix: N/A |
213 +-------------------------------------------------------------------------------------------------------------+
214 |:Upstream bug: :mysqlbug:`64800` - mysqldump with --include-master-host-port putting quotes around port no. |
215 |:Launchpad bug: :bug:`1013432` |
216-|:Upstream state: Verified (checked on 2012-10-31) |
217+|:Upstream state: Verified (checked on 2012-12-06) |
218 |:Fix Released: :rn:`5.5.27-28.0` |
219 |:Upstream fix: N/A |
220 +-------------------------------------------------------------------------------------------------------------+
221 |:Upstream bug: :mysqlbug:`66301` - INSERT ... ON DUPLICATE KEY UPDATE + innodb_autoinc_lock_mode=1 is broken |
222 |:Launchpad bug: :bug:`1035225` |
223-|:Upstream state: Verified (checked on 2012-10-31) |
224+|:Upstream state: Verified (checked on 2012-12-06) |
225 |:Fix Released: :rn:`5.5.27-28.0` |
226 |:Upstream fix: N/A |
227 +-------------------------------------------------------------------------------------------------------------+
228 |:Upstream bug: :mysqlbug:`60743` - typo in cmake/dtrace.cmake |
229 |:Launchpad bug: :bug:`1013455` |
230-|:Upstream state: Verified (checked on 2012-10-31) |
231+|:Upstream state: Verified (checked on 2012-12-06) |
232 |:Fix Released: :rn:`5.5.25a-27.1` |
233 |:Upstream fix: N/A |
234 +-------------------------------------------------------------------------------------------------------------+
235 |:Upstream bug: :mysqlbug:`64663` - Segfault when adding indexes to InnoDB temporary tables |
236 |:Launchpad bug: :bug:`999147` |
237-|:Upstream state: Open (checked on 2012-10-31) |
238+|:Upstream state: Open (checked on 2012-12-06) |
239 |:Fix Released: :rn:`5.5.24-26.0` |
240 |:Upstream fix: N/A |
241 +-------------------------------------------------------------------------------------------------------------+
242@@ -73,7 +79,7 @@
243 +-------------------------------------------------------------------------------------------------------------+
244 |:Upstream bug: :mysqlbug:`64432` - Bug :mysqlbug:`54330` (Broken fast index creation) was never fixed in 5.5 |
245 |:Launchpad bug: :bug:`939485` |
246-|:Upstream state: Patch Queued (checked on 2012-10-31) |
247+|:Upstream state: Patch Queued (checked on 2012-12-06) |
248 |:Fix Released: :rn:`5.5.21-25.0` |
249 |:Upstream fix: N/A |
250 +-------------------------------------------------------------------------------------------------------------+
251@@ -97,7 +103,7 @@
252 +-------------------------------------------------------------------------------------------------------------+
253 |:Upstream bug: :mysqlbug:`62516` - Fast index creation does not update index statistics |
254 |:Launchpad bug: :bug:`857590` |
255-|:Upstream state: Verified (checked on 2012-10-31) |
256+|:Upstream state: Verified (checked on 2012-12-06) |
257 |:Fix Released: :rn:`5.5.16-22.0` |
258 |:Upstream fix: N/A |
259 +-------------------------------------------------------------------------------------------------------------+
260@@ -109,13 +115,13 @@
261 +-------------------------------------------------------------------------------------------------------------+
262 |:Upstream bug: :mysqlbug:`61595` - mysql-test/include/wait_for_slave_param.inc timeout logic is incorrect |
263 |:Launchpad bug: :bug:`800035` |
264-|:Upstream state: Verified (checked on 2012-10-31) |
265+|:Upstream state: Verified (checked on 2012-12-06) |
266 |:Fix Released: :rn:`5.5.13-20.4` |
267 |:Upstream fix: N/A |
268 +-------------------------------------------------------------------------------------------------------------+
269 |:Upstream bug: :mysqlbug:`60788` - InnoDB crashes with an assertion failure when receiving a signal on pwrite|
270 |:Launchpad bug: :bug:`764395` |
271-|:Upstream state: Verified (checked on 2012-10-31) |
272+|:Upstream state: Verified (checked on 2012-12-06) |
273 |:Fix Released: :rn:`5.5.11-20.2` |
274 |:Upstream fix: N/A |
275 +-------------------------------------------------------------------------------------------------------------+

Subscribers

People subscribed via source and target branches