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

Proposed by Hrvoje Matijakovic
Status: Merged
Approved by: Stewart Smith
Approved revision: no longer in the source branch.
Merged at revision: 333
Proposed branch: lp:~hrvojem/percona-server/rn-5.5.28-29.1
Merge into: lp:percona-server/5.5
Diff against target: 178 lines (+121/-3)
6 files modified
doc/source/conf.py (+3/-3)
doc/source/glossary.rst (+2/-0)
doc/source/index.rst (+1/-0)
doc/source/performance/innodb_numa_support.rst (+66/-0)
doc/source/release-notes/Percona-Server-5.5.15-21.0.rst (+22/-0)
doc/source/release-notes/Percona-Server-5.5.28-29.1.rst (+27/-0)
To merge this branch: bzr merge lp:~hrvojem/percona-server/rn-5.5.28-29.1
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Needs Fixing
Stewart Smith (community) Approve
Review via email: mp+131250@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Stewart Smith (stewart) :
review: Approve
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Bug 1060136 is also upstream 67052.
Bug 1053342 mentioned twice, the second mention is incorrect, also for the second bug it would be good to mention (if it's easy to find out) which version was that regression introduced in.

review: Needs Fixing

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-19 10:46:01 +0000
3+++ doc/source/conf.py 2012-10-24 18:16:20 +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.27-29.0'
9+release = '5.5.28-29.1'
10
11 # The language for content autogenerated by Sphinx. Refer to documentation
12 # for a list of supported languages.
13@@ -130,8 +130,8 @@
14 #modindex_common_prefix = []
15
16 extlinks = {'bug': ('https://bugs.launchpad.net/percona-server/+bug/%s',
17- '#')}
18-
19+ '#'), 'upbug': ('http://bugs.mysql.com/bug.php?id=%s',
20+ '#') }
21
22 # -- Options for HTML output ---------------------------------------------------
23
24
25=== modified file 'doc/source/glossary.rst'
26--- doc/source/glossary.rst 2012-08-21 05:55:28 +0000
27+++ doc/source/glossary.rst 2012-10-24 18:16:20 +0000
28@@ -89,6 +89,8 @@
29 the Oracle distribution of MySQL as distinct from the drop-in
30 replacements such as :term:`MariaDB` and :term:`Percona Server`.
31
32+ NUMA
33+ Non-Uniform Memory Access (`NUMA <http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access>`_) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to a processor. Under NUMA, a processor can access its own local memory faster than non-local memory, that is, memory local to another processor or memory shared between processors. The whole system may still operate as one unit, and all memory is basically accessible from everywhere, but at a potentially higher latency and lower performance.
34
35 Percona Server
36 Percona's branch of :term:`MySQL` with performance and management improvements.
37
38=== modified file 'doc/source/index.rst'
39--- doc/source/index.rst 2012-10-19 10:46:01 +0000
40+++ doc/source/index.rst 2012-10-24 18:16:20 +0000
41@@ -75,6 +75,7 @@
42 performance/remove_fcntl_excessive_calls
43 performance/innodb_opt_lru_count
44 performance/innodb_thread_concurrency_timer_based
45+ performance/innodb_numa_support
46 performance/handlersocket
47
48 Flexibility Improvements
49
50=== added file 'doc/source/performance/innodb_numa_support.rst'
51--- doc/source/performance/innodb_numa_support.rst 1970-01-01 00:00:00 +0000
52+++ doc/source/performance/innodb_numa_support.rst 2012-10-24 18:16:20 +0000
53@@ -0,0 +1,66 @@
54+.. _innodb_numa_support:
55+
56+===========================
57+ Improved ``NUMA`` support
58+===========================
59+
60+In cases where the buffer pool memory allocation was bigger than size of the node, system would start swapping already allocated memory even if there is available memory on other node. This is would happen if the default :term:`NUMA` memory allocation policy was selected. In that case system would favor one node more than other which caused the node to run out of memory. Changing the allocation policy to interleaving, memory will be allocated in round-robing fashion over the available node. This can be done by using the mysqld_safe :variable:`numa_interleave` option.
61+
62+Another improvement implemented is preallocating the pages in the buffer pool on startup with :variable:`innodb_buffer_pool_populate` variable. This forces ``NUMA`` allocation decisions to be made immediately while the buffer cache is clean.
63+
64+It is generally recommended to enable all of the options together to maximize the performance effects on the ``NUMA`` architecture.
65+
66+Version Specific Information
67+============================
68+
69+ * :rn:`5.5.28-29.1`
70+ Improved ``NUMA`` support implemented. This feature was ported from Twitter's |MySQL| patches.
71+
72+System Variables
73+================
74+
75+.. variable:: innodb_buffer_pool_populate
76+
77+ :cli: Yes
78+ :conf: No
79+ :location: mysqld
80+ :scope: Global
81+ :dyn: No
82+ :vartype: Boolean
83+ :default: OFF
84+ :range: ON/OFF
85+
86+When this variable is enabled, |InnoDB| preallocates pages in the buffer pool on startup to force ``NUMA`` allocation decisions to be made immediately while the buffer cache is clean.
87+
88+Command-line Options
89+=====================
90+
91+.. variable:: flush_caches
92+
93+ :cli: No
94+ :conf: No
95+ :location: mysqld_safe
96+ :dyn: No
97+ :vartype: Boolean
98+ :default: OFF
99+ :range: ON/OFF
100+
101+When enabled this will flush and purge buffers/caches before starting the server to help ensure ``NUMA`` allocation fairness across nodes. This option is useful for establishing a consistent and predictable behavior for normal usage and/or benchmarking.
102+
103+.. variable:: numa_interleave
104+
105+ :cli: No
106+ :conf: No
107+ :location: mysqld_safe
108+ :dyn: No
109+ :vartype: Boolean
110+ :default: OFF
111+ :range: ON/OFF
112+
113+When this option is enabled, mysqld will run with its memory interleaved on all ``NUMA`` nodes by starting it with ``numactl --interleave=all``. In case there is just 1 CPU/node, allocations will be "interleaved" between that node.
114+
115+Other Reading
116+=============
117+
118+ * `The MySQL "swap insanity" problem and the effects of the NUMA architecture <http://blog.jcole.us/2010/09/28/mysql-swap-insanity-and-the-numa-architecture/>`_
119+ * `A brief update on NUMA and MySQL <http://blog.jcole.us/2012/04/16/a-brief-update-on-numa-and-mysql/>`_
120
121=== added file 'doc/source/release-notes/Percona-Server-5.5.15-21.0.rst'
122--- doc/source/release-notes/Percona-Server-5.5.15-21.0.rst 1970-01-01 00:00:00 +0000
123+++ doc/source/release-notes/Percona-Server-5.5.15-21.0.rst 2012-10-24 18:16:20 +0000
124@@ -0,0 +1,22 @@
125+.. rn:: 5.5.15-21.0
126+
127+============================
128+|Percona Server| 5.5.15-21.0
129+============================
130+
131+Percona is glad to announce the release of |Percona Server| 5.5.15-21.0 on August 31, 2011 (Downloads are available `here <http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-5.5.15-21.0/>`_ and from the `Percona Software Repositories <http://http://www.percona.com/doc/percona-server/5.5/installation.html>`_).
132+
133+Based on |MySQL| 5.5.15, including all the bug fixes in it, |Percona Server| 5.5.15-21.0 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.15-21.0 milestone at Launchpad <https://launchpad.net/percona-server/+milestone/5.5.15-21.0>`_.
134+
135+
136+New features
137+=============
138+
139+As of MySQL 5.5.15, a *Fixed Row Format* (FRF) is still being used in the ``MEMORY`` storage engine. The fixed row format imposes restrictions on the type of columns as it assigns on advance a limited amount of memory per row. This renders a ``VARCHAR`` field in a ``CHAR`` field in practice, making impossible to have a TEXT or BLOB field with that engine implementation.
140+
141+To overcome this limitation, the :ref:`improved_memory_engine` is introduced in this release for supporting true ``VARCHAR``, ``VARBINARY``, ``TEXT`` and ``BLOB`` fields in ``MEMORY`` tables.
142+This implementation is based on the *Dynamic Row Format* (DFR) introduced by the mysql-heap-dynamic-rows patch.
143+DFR is used to store column values in a variable-length form, thus helping to decrease memory footprint of those columns and making possible BLOB and TEXT fields and real `VARCHAR` and `VARBINARY`.
144+
145+For performance reasons, a mixed solution is implemented: the fixed format is used at the beginning of the row, while the dynamic one is used for the rest of it. All values for columns used in indexes are stored in fixed format at the first block of the row, then the following columns are handled with DRF.
146+
147
148=== added file 'doc/source/release-notes/Percona-Server-5.5.28-29.1.rst'
149--- doc/source/release-notes/Percona-Server-5.5.28-29.1.rst 1970-01-01 00:00:00 +0000
150+++ doc/source/release-notes/Percona-Server-5.5.28-29.1.rst 2012-10-24 18:16:20 +0000
151@@ -0,0 +1,27 @@
152+.. rn:: 5.5.28-29.1
153+
154+===============================
155+ |Percona Server| 5.5.28-29.1
156+===============================
157+
158+Percona is glad to announce the release of |Percona Server| 5.5.28-29.1 on October 26th, 2012 (Downloads are available `here <http://www.percona.com/downloads/Percona-Server-5.5/Percona-Server-5.5.28-29.1/>`_ and from the `Percona Software Repositories <http://www.percona.com/docs/wiki/repositories:start>`_).
159+
160+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.1 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.1 milestone at Launchpad <https://launchpad.net/percona-server/+milestone/5.5.28-29.1>`_.
161+
162+New Features
163+============
164+
165+ |Percona Server| has ported Twitter's |MySQL| ``NUMA`` patch. This patch implements :ref:`innodb_numa_support` as it prevents imbalanced memory allocation across NUMA nodes.
166+
167+Bug Fixes
168+=========
169+
170+ |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` (*Laurynas Biveinis*).
171+
172+ Fixed the upstream |MySQL| :upbug:`62856`, where slave server would crash after update statement. Bug fixed :bug:`1053342` (*George Ormond Lorch III*).
173+
174+ Reads from tablespaces being deleted would result in buffer pool locking error. Bug fixed :bug:`1053342` (*Stewart Smith*).
175+
176+ Resolved the *Ubuntu* |Percona Server| package conflicts with upstream packages. Bug fixed :bug:`907499` (*Ignacio Nin*).
177+
178+ Crash-resistant replication would break with binlog XA transaction recovery. If a crash would happened between XA PREPARE and COMMIT stages, the prepared |InnoDB| transaction would not have the slave position recorded and thus would fail to update it once it is replayed during binlog crash recovery. Bug fixed :bug:`1012715` (*Laurynas Biveinis*).

Subscribers

People subscribed via source and target branches