Merge lp:~hrvojem/percona-server/rn-5.5.37-35.0-5.6 into lp:percona-server/5.6

Proposed by Hrvoje Matijakovic on 2014-04-30
Status: Merged
Approved by: Laurynas Biveinis on 2014-05-06
Approved revision: 583
Merged at revision: 585
Proposed branch: lp:~hrvojem/percona-server/rn-5.5.37-35.0-5.6
Merge into: lp:percona-server/5.6
Diff against target: 883 lines (+513/-39)
10 files modified
doc/source/conf.py (+3/-1)
doc/source/diagnostics/scalability_metrics_plugin.rst (+99/-0)
doc/source/diagnostics/slow_extended.rst (+7/-3)
doc/source/index.rst (+3/-0)
doc/source/installation/apt_repo.rst (+1/-1)
doc/source/management/audit_log_plugin.rst (+234/-0)
doc/source/release-notes/Percona-Server-5.6.17-65.0.rst (+51/-0)
doc/source/release-notes/release-notes_index.rst (+1/-0)
doc/source/tokudb/tokudb_multiple_clustering_keys.rst (+62/-0)
doc/source/upstream-bug-fixes.rst (+52/-34)
To merge this branch: bzr merge lp:~hrvojem/percona-server/rn-5.5.37-35.0-5.6
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) 2014-04-30 Approve on 2014-05-06
Review via email: mp+217743@code.launchpad.net
To post a comment you must log in.

    - TokuDB secondary clustering keys undocumented

review: Needs Fixing

- Explain what query optimiser support for the clustering keys means: the query optimiser will avoid primary clustered index reads and replace them by secondary clustered index reads in certain scenarios.
- Before the full supported syntax, add a few basic examples of CREATE TABLE etc.
- It would be very nice to have an example with a differing query plan for the same query with regular and with clustering secondary key. Might be possible to ask Tokutek for what would be a flagship example, or maybe there is an example in their docs.

review: Needs Fixing

In the sample CREATE TABLE, define a primary key too for clarity
The query plans with clustering and regular secondary index are identical (except for index name and row estimate).

review: Needs Fixing
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 2014-04-25 10:55:01 +0000
3+++ doc/source/conf.py 2014-05-06 12:44:40 +0000
4@@ -54,7 +54,7 @@
5 # The short X.Y version.
6 version = '5.6'
7 # The full version, including alpha/beta/rc tags.
8-release = '5.6.16-64.2-tokudb'
9+release = '5.6.17-65.0'
10
11 # The language for content autogenerated by Sphinx. Refer to documentation
12 # for a list of supported languages.
13@@ -110,6 +110,8 @@
14
15 .. |Percona XtraBackup| replace:: *Percona XtraBackup*
16
17+.. |Percona Toolkit| replace:: *Percona Toolkit*
18+
19 .. |Percona Server| replace:: *Percona Server*
20
21 .. |Percona| replace:: *Percona*
22
23=== added file 'doc/source/diagnostics/scalability_metrics_plugin.rst'
24--- doc/source/diagnostics/scalability_metrics_plugin.rst 1970-01-01 00:00:00 +0000
25+++ doc/source/diagnostics/scalability_metrics_plugin.rst 2014-05-06 12:44:40 +0000
26@@ -0,0 +1,99 @@
27+.. _scalability_metrics_plugin:
28+
29+=====================================
30+ Metrics for scalability measurement
31+=====================================
32+
33+|Percona Server| has implemented extra scalability metrics in :rn:`5.6.17-65.0`. These metrics allow using Little's Law, queueing theory, and Universal Scalability Law to gain insights into server performance. This feature is implemented as a plugin.
34+
35+Installation
36+============
37+
38+Scalability Metrics plugin is shipped with |Percona Server|, but it is not installed by default. To enable the plugin you must run the following command:
39+
40+.. code-block:: mysql
41+
42+ INSTALL PLUGIN scalability_metrics SONAME 'scalability_metrics.so';
43+
44+You can check if the plugin is loaded correctly by running:
45+
46+.. code-block:: mysql
47+
48+ SHOW PLUGINS;
49+
50+The plugin should be listed in the output:
51+
52+.. code-block:: mysql
53+
54+ +--------------------------------+----------+--------------------+------------------------+---------+
55+ | Name | Status | Type | Library | License |
56+ +--------------------------------+----------+--------------------+------------------------+---------+
57+ ...
58+ | scalability_metrics | ACTIVE | AUDIT | scalability_metrics.so | GPL |
59+ +--------------------------------+----------+--------------------+------------------------+---------+
60+
61+System Variables
62+================
63+
64+.. variable:: scalability_metrics_control
65+
66+ :version 5.6.17-65.0: Implemented
67+ :cli: Yes
68+ :scope: Global
69+ :dyn: Yes
70+ :vartype: String
71+ :default: ``OFF``
72+ :values: ``OFF``, ``ON``, ``RESET``
73+
74+This variable can be used to enable and disable the collection of metrics for scalability measurement. By setting the value to ``RESET`` all counters will be reset while continuing to count metrics.
75+
76+Status Variables
77+================
78+
79+.. variable:: scalability_metrics_elapsedtime
80+
81+ :version 5.6.17-65.0: Implemented
82+ :vartype: Numeric
83+
84+This status variable shows total time elapsed since metrics collection was started.
85+
86+.. variable:: scalability_metrics_queries
87+
88+ :version 5.6.17-65.0: Implemented
89+ :vartype: Numeric
90+
91+This status variable shows number of completed queries since metrics collection was started.
92+
93+.. variable:: scalability_metrics_concurrency
94+
95+ :version 5.6.17-65.0: Implemented
96+ :vartype: Numeric
97+
98+This status variable shows number of queries currently executed.
99+
100+.. variable:: scalability_metrics_totaltime
101+
102+ :version 5.6.17-65.0: Implemented
103+ :vartype: Numeric
104+
105+This status variable shows total execution time of all queries, including the in-progress time of currently executing queries, in microseconds (ie. if two queries executed with 1 second of response time each, the result is 2 seconds).
106+
107+.. variable:: scalability_metrics_busytime
108+
109+ :version 5.6.17-65.0: Implemented
110+ :vartype: Numeric
111+
112+This counter accounts the non-idle server time, that is, time when at least one query was executing.
113+
114+
115+Version Specific Information
116+============================
117+
118+ * :rn:`5.6.17-65.0`
119+ Scalability Metrics plugin has been implemented in |Percona Server|.
120+
121+Other Reading
122+=============
123+
124+* `Fundamental performance and scalability instrumentation <http://www.xaprb.com/blog/2011/10/06/fundamental-performance-and-scalability-instrumentation/>`_
125+* `Forecasting MySQL Scalability with the Universal Scalability Law Whitepaper <http://www.percona.com/files/white-papers/forecasting-mysql-scalability.pdf>`_
126
127=== modified file 'doc/source/diagnostics/slow_extended.rst'
128--- doc/source/diagnostics/slow_extended.rst 2013-09-20 13:13:37 +0000
129+++ doc/source/diagnostics/slow_extended.rst 2014-05-06 12:44:40 +0000
130@@ -81,6 +81,8 @@
131 :conf: Yes
132 :scope: Global, session
133 :dyn: Yes
134+ :default: 1
135+ :range: 1-1000
136
137 Behavior of this variable depends from :variable:`log_slow_rate_type`.
138
139@@ -94,9 +96,9 @@
140 Note that every query has global unique ``query_id`` and every connection can has it own (session) :variable:`log_slow_rate_limit`.
141 Decision "log or no" calculated in following manner:
142
143- * if ``log_slow_rate_limit`` is 0 - log every query
144+ * if ``log_slow_rate_limit`` is 1 - log every query
145
146- * If ``log_slow_rate_limit`` > 0 - log query when (``query_id`` % ``log_slow_rate_limit``) is zero.
147+ * If ``log_slow_rate_limit`` > 1 - randomly log every 1/``log_slow_rate_limit`` query.
148
149 This allows flexible setup logging behavior.
150
151@@ -104,6 +106,8 @@
152
153 Log_slow_rate_type: query Log_slow_rate_limit: 10
154
155+Prior to :rn:`5.6.17-65.0` implementation of the :variable:`log_slow_rate_type` set to ``query`` with :variable:`log_slow_rate_limit` feature would log every nth query deterministically. With the current implementation each query has a non-deterministic probability of 1/n to get logged.
156+
157 .. variable:: log_slow_sp_statements
158
159 :cli: Yes
160@@ -145,7 +149,7 @@
161 Equivalent to enabling ``microtime,innodb``.
162
163 * ``full``:
164- Equivalent to all other values OR'ed together.
165+ Equivalent to all other values OR'ed together without the ``profiling`` and ``profiling_use_getrusage`` options.
166
167 * ``profiling``:
168 Enables profiling of all queries in all connections.
169
170=== modified file 'doc/source/index.rst'
171--- doc/source/index.rst 2014-04-25 10:55:01 +0000
172+++ doc/source/index.rst 2014-05-06 12:44:40 +0000
173@@ -124,6 +124,7 @@
174 management/log_archiving
175 management/statement_timeout
176 management/backup_locks
177+ management/audit_log_plugin
178
179 Diagnostics Improvements
180 ========================
181@@ -142,6 +143,7 @@
182 diagnostics/process_list
183 diagnostics/misc_info_schema_tables
184 diagnostics/thread_based_profiling
185+ diagnostics/scalability_metrics_plugin
186
187 TokuDB
188 ======
189@@ -154,6 +156,7 @@
190 tokudb/tokudb_installation
191 tokudb/using_tokudb
192 tokudb/tokudb_compression
193+ tokudb/tokudb_multiple_clustering_keys
194
195 Reference
196 =========
197
198=== modified file 'doc/source/installation/apt_repo.rst'
199--- doc/source/installation/apt_repo.rst 2014-03-03 18:32:52 +0000
200+++ doc/source/installation/apt_repo.rst 2014-05-06 12:44:40 +0000
201@@ -37,9 +37,9 @@
202
203 * 10.04LTS (lucid)
204 * 12.04LTS (precise)
205- * 12.10 (quantal)
206 * 13.04 (raring)
207 * 13.10 (saucy)
208+ * 14.04LTS (trusty)
209
210
211 Percona `apt` Experimental repository
212
213=== added file 'doc/source/management/audit_log_plugin.rst'
214--- doc/source/management/audit_log_plugin.rst 1970-01-01 00:00:00 +0000
215+++ doc/source/management/audit_log_plugin.rst 2014-05-06 12:44:40 +0000
216@@ -0,0 +1,234 @@
217+.. _audit_log_plugin:
218+
219+==================
220+ Audit Log Plugin
221+==================
222+
223+Percona Audit Log Plugin provides monitoring and logging of connection and query activity that were performed on specific server. Information about the activity will be stored in the XML log file where each event will have its ``NAME`` field, it's own unique ``RECORD_ID`` field and a ``TIMESTAMP`` field. This implementation is alternative to the `MySQL Enterprise Audit Log Plugin <dev.mysql.com/doc/refman/5.5/en/audit-log-plugin.html>`_
224+
225+Audit Log plugin produces the log of following events:
226+
227+* **Audit** - Audit event indicates that audit logging started or finished. ``NAME`` field will be ``Audit`` when logging started and ``NoAudit`` when logging finished. Audit record also includes server version and command-line arguments.
228+
229+Example of the Audit event: ::
230+
231+ <AUDIT_RECORD
232+ "NAME"="Audit"
233+ "RECORD"="1_2014-04-29T09:29:40"
234+ "TIMESTAMP"="2014-04-29T09:29:40 UTC"
235+ "MYSQL_VERSION"="5.6.17-65.0-655.trusty"
236+ "STARTUP_OPTIONS"="--basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/log/mysql/error.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306"
237+ "OS_VERSION"="x86_64-debian-linux-gnu",
238+ />
239+
240+* **Connect**/**Disconnect** - Connect record event will have ``NAME`` field ``Connect`` when user logged in or login failed, or ``Quit`` when connection is closed. Additional fields for this event are ``CONNECTION_ID``, ``STATUS``, ``USER``, ``PRIV_USER``, ``OS_LOGIN``, ``PROXY_USER``, ``HOST``, and ``IP``. ``STATUS`` will be ``0`` for successful logins and non-zero for failed logins.
241+
242+Example of the Disconnect event: ::
243+
244+ <AUDIT_RECORD
245+ "NAME"="Quit"
246+ "RECORD"="24_2014-04-29T09:29:40"
247+ "TIMESTAMP"="2014-04-29T10:20:13 UTC"
248+ "CONNECTION_ID"="49"
249+ "STATUS"="0"
250+ "USER"=""
251+ "PRIV_USER"=""
252+ "OS_LOGIN"=""
253+ "PROXY_USER"=""
254+ "HOST"=""
255+ "IP"=""
256+ "DB"=""
257+ />
258+
259+* **Query** - Additional fields for this event are: ``COMMAND_CLASS`` (values come from the ``com_status_vars`` array in the :file:`sql/mysqld.cc`` file in a MySQL source distribution. Examples are ``select``, ``alter_table", "create_table", etc.), ``CONNECTION_ID``, ``STATUS`` (indicates error when non-zero), ``SQLTEXT`` (text of SQL-statement, statements are rewritten to exclude passwords by default, this can be changed by :option:`--log-raw` option ), ``USER``, ``HOST``, ``OS_USER``, ``IP``. Possible values for the ``NAME`` name field for this event are ``Query``, ``Prepare``, ``Execute``, ``Change user``, etc.
260+
261+Example of the Query event: ::
262+
263+ <AUDIT_RECORD
264+ "NAME"="Query"
265+ "RECORD"="23_2014-04-29T09:29:40"
266+ "TIMESTAMP"="2014-04-29T10:20:10 UTC"
267+ "COMMAND_CLASS"="select"
268+ "CONNECTION_ID"="49"
269+ "STATUS"="0"
270+ "SQLTEXT"="SELECT * from mysql.user"
271+ "USER"="root[root] @ localhost []"
272+ "HOST"="localhost"
273+ "OS_USER"=""
274+ "IP"=""
275+ />
276+
277+Installation
278+============
279+
280+Audit Log plugin is shipped with |Percona Server|, but it is not installed by default. To enable the plugin you must run the following command:
281+
282+.. code-block:: mysql
283+
284+ INSTALL PLUGIN audit_log SONAME 'audit_log.so';
285+
286+You can check if the plugin is loaded correctly by running:
287+
288+.. code-block:: mysql
289+
290+ SHOW PLUGINS;
291+
292+Audit log should be listed in the output:
293+
294+.. code-block:: mysql
295+
296+ +--------------------------------+----------+--------------------+--------------+---------+
297+ | Name | Status | Type | Library | License |
298+ +--------------------------------+----------+--------------------+--------------+---------+
299+ ...
300+ | audit_log | ACTIVE | AUDIT | audit_log.so | GPL |
301+ +--------------------------------+----------+--------------------+--------------+---------+
302+
303+Log Format
304+==========
305+
306+Audit log plugin supports two formats. In one format (``OLD``) log record properties are saved as XML attributes and in the other (``NEW``) log recored properties are saved as XML tags. Audit log format can be set up with the :variable:`audit_log_format` variable.
307+
308+Example of the ``OLD`` format: ::
309+
310+ <AUDIT_RECORD
311+ "NAME"="Query"
312+ "RECORD"="2_2014-04-28T09:29:40"
313+ "TIMESTAMP"="2014-04-28T09:29:40 UTC"
314+ "COMMAND_CLASS"="install_plugin"
315+ "CONNECTION_ID"="47"
316+ "STATUS"="0"
317+ "SQLTEXT"="INSTALL PLUGIN audit_log SONAME 'audit_log.so'"
318+ "USER"="root[root] @ localhost []"
319+ "HOST"="localhost"
320+ "OS_USER"=""
321+ "IP"=""
322+ />
323+
324+Example of the ``NEW`` format: ::
325+
326+ <AUDIT_RECORD>
327+ <NAME>Quit</NAME>
328+ <RECORD>10902_2014-04-28T11:02:54</RECORD>
329+ <TIMESTAMP>2014-04-28T11:02:59 UTC</TIMESTAMP>
330+ <CONNECTION_ID>36</CONNECTION_ID>
331+ <STATUS>0</STATUS>
332+ <USER></USER>
333+ <PRIV_USER></PRIV_USER>
334+ <OS_LOGIN></OS_LOGIN>
335+ <PROXY_USER></PROXY_USER>
336+ <HOST></HOST>
337+ <IP></IP>
338+ <DB></DB>
339+ </AUDIT_RECORD>
340+
341+System Variables
342+================
343+
344+.. variable:: audit_log_strategy
345+
346+ :version 5.6.17-65.0: Implemented
347+ :cli: Yes
348+ :scope: Global
349+ :dyn: No
350+ :vartype: String
351+ :default: ASYNCHRONOUS
352+ :allowed values: ``ASYNCHRONOUS``, ``PERFORMANCE``, ``SEMISYNCHRONOUS``, ``SYNCHRONOUS``
353+
354+This variable is used to specify the audit log strategy, possible values are:
355+
356+* ``ASYNCHRONOUS`` - (default) log using memory buffer, do not drop messages if buffer is full
357+* ``PERFORMANCE`` - log using memory buffer, drop messages if buffer is full
358+* ``SEMISYNCHRONOUS`` - log directly to file, do not flush and sync every event
359+* ``SYNCHRONOUS`` - log directly to file, flush and sync every event
360+
361+.. variable:: audit_log_file
362+
363+ :version 5.6.17-65.0: Implemented
364+ :cli: Yes
365+ :scope: Global
366+ :dyn: No
367+ :vartype: String
368+ :default: audit.log
369+
370+This variable is used to specify the filename that's going to store the audit log. It can contain the path relative to the datadir or absolute path.
371+
372+.. variable:: audit_log_flush
373+
374+ :version 5.6.17-65.0: Implemented
375+ :cli: Yes
376+ :scope: Global
377+ :dyn: No
378+ :vartype: String
379+ :default: OFF
380+
381+When this variable is set to ``ON`` log file will be closed and reopened. This can be used for manual log rotation.
382+
383+.. variable:: audit_log_buffer_size
384+
385+ :version 5.6.17-65.0: Implemented
386+ :cli: Yes
387+ :scope: Global
388+ :dyn: No
389+ :vartype: Numeric
390+ :default: 4096
391+
392+This variable can be used to specify the size of memory buffer used for logging, used when :variable:`audit_log_strategy` variable is set to ``ASYNCHRONOUS`` or ``PERFORMANCE`` values.
393+
394+.. variable:: audit_log_format
395+
396+ :version 5.6.17-65.0: Implemented
397+ :cli: Yes
398+ :scope: Global
399+ :dyn: No
400+ :vartype: String
401+ :default: OLD
402+ :allowed values: ``OLD``, ``NEW``
403+
404+This variable is used to specify the audit log format. When this variable is set to ``OLD`` information will be logged as XML attributes, and when is set to ``NEW`` it will be logged as XML tags.
405+
406+.. variable:: audit_log_policy
407+
408+ :version 5.6.17-65.0: Implemented
409+ :cli: Yes
410+ :scope: Global
411+ :dyn: Yes
412+ :vartype: String
413+ :default: ALL
414+ :allowed values: ``ALL``, ``LOGINS``, ``QUERIES``, ``NONE``
415+
416+This variable is used to specify which events should be logged. Possible values are:
417+
418+* ``ALL`` - all events will be logged
419+* ``LOGINS`` - only logins will be logged
420+* ``QUERIES`` - only queries will be logged
421+* ``NONE`` - no events will be logged
422+
423+.. variable:: audit_log_rotate_on_size
424+
425+ :version 5.6.17-65.0: Implemented
426+ :cli: Yes
427+ :scope: Global
428+ :dyn: No
429+ :vartype: Numeric
430+ :default: 0 (don't rotate the log file)
431+
432+This variable is used to specify the size of the audit log file. When this size is reached log will get rotated. Old log can be found in the same directory, audit log sequential number will be appended to the name specified in the :variable:`audit_log_file` variable.
433+
434+.. variable:: audit_log_rotations
435+
436+ :version 5.6.17-65.0: Implemented
437+ :cli: Yes
438+ :scope: Global
439+ :dyn: No
440+ :vartype: Numeric
441+ :default: 0
442+
443+This variable is used to specify how many log files should be kept when :variable:`audit_log_rotate_on_size` variable is set to non-zero value.
444+
445+Version Specific Information
446+============================
447+
448+ * :rn:`5.6.17-65.0`
449+ Audit Log plugin has been implemented in |Percona Server|.
450+
451
452=== added file 'doc/source/release-notes/Percona-Server-5.6.17-65.0.rst'
453--- doc/source/release-notes/Percona-Server-5.6.17-65.0.rst 1970-01-01 00:00:00 +0000
454+++ doc/source/release-notes/Percona-Server-5.6.17-65.0.rst 2014-05-06 12:44:40 +0000
455@@ -0,0 +1,51 @@
456+.. rn:: 5.6.17-65.0
457+
458+==============================
459+ |Percona Server| 5.6.17-65.0
460+==============================
461+
462+Percona is glad to announce the release of |Percona Server| 5.6.17-65.0 on May 6th, 2014 (Downloads are available `here <http://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.17-65.0/>`_ and from the :doc:`Percona Software Repositories </installation>`).
463+
464+Based on `MySQL 5.6.17 <http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html>`_, including all the bug fixes in it, |Percona Server| 5.6.17-65.0 is the current GA release in the |Percona Server| 5.6 series. All of |Percona|'s software is open-source and free, all the details of the release can be found in the `5.6.17-65.0 milestone at Launchpad <https://launchpad.net/percona-server/+milestone/5.6.17-65.0>`_.
465+
466+New Features
467+============
468+
469+ |Percona Server| now supports :ref:`scalability_metrics_plugin`.
470+
471+ |Percona Server| now supports :ref:`audit_log_plugin`.
472+
473+ |Percona Server| parser and query optimizer now support :ref:`tokudb_multiple_clustering_keys` when TokuDB engine is used.
474+
475+ Storage engine handler interface has been extended with new calls to notify the storage engine of imminent table or index scan. The calls are used by TokuDB to improve performance of these operations.
476+
477+ |Percona Server| packages are now available for *Ubuntu* 14.04.
478+
479+Bugs Fixed
480+==========
481+
482+ |Percona Server| couldn't be built with *Bison* 3.0. Bug fixed :bug:`1262439`,upstream :mysqlbug:`71250`.
483+
484+ Fixed the inadequate background LRU flushing for write workloads with |InnoDB| compression that could lead to lower performance. Bug fixed :bug:`1295268`.
485+
486+ |Percona Server| debug packages were not built for the previous releases. Bug fixed :bug:`1298352`.
487+
488+ Queries that no longer exceed :variable:`long_query_time` were written to the slow query log if they matched the previous :variable:`long_query_time` value when :variable:`slow_query_log_use_global_control` variable was set to ``all``. Bug fixed :bug:`1016991`.
489+
490+ When writing audit plugins it was not possible to get notifications for general-log events without enabling the general-log. Bug fixed :bug:`1182535` (upstream :mysqlbug:`60782`).
491+
492+ ``mysqld_safe`` did not correctly parse :variable:`flush_caches` and :variable:`numa_interleave` options. Bug fixed :bug:`1231110`.
493+
494+ :ref:`threadpool` would handle a new client connection without notifying Audit Plugin. Bug fixed :bug:`1282008`.
495+
496+ Fixed a performance issue in extending tablespaces if running under ``fusionIO`` with :ref:`atomic writes <atomic_fio>` enabled. Bug fixed :bug:`1286114` (*Jan Lindström*).
497+
498+ Previous implementation of the :variable:`log_slow_rate_type` set to ``query`` with :variable:`log_slow_rate_limit` feature would log every nth query deterministically instead of each query having a 1/n probability to get logged. Fixed by randomly selecting the queries to be logged instead of logging every nth query. Bug fixed :bug:`1287650`.
499+
500+ |Percona Server| source files were referencing *Maatkit* instead of |Percona Toolkit|. Bug fixed :bug:`1174779`.
501+
502+ Maximum allowed value for :variable:`log_slow_rate_limit` was ``ULONG_MAX`` (ie. either ``4294967295`` or ``18446744073709551615``, depending on the platform). As it was unreasonable to configure the slow log for every four billionth session/query, new maximum allowed value is set to ``1000``. Bug fixed :bug:`1290714`.
503+
504+Other bugs fixed :bug:`1295523`, :bug:`1299688` (upstream :mysqlbug:`72163`) and :bug:`1272732`.
505+
506+
507
508=== modified file 'doc/source/release-notes/release-notes_index.rst'
509--- doc/source/release-notes/release-notes_index.rst 2014-04-25 10:55:01 +0000
510+++ doc/source/release-notes/release-notes_index.rst 2014-05-06 12:44:40 +0000
511@@ -6,6 +6,7 @@
512 :maxdepth: 1
513 :glob:
514
515+ Percona-Server-5.6.17-65.0
516 Percona-Server-5.6.16-64.2-tokudb
517 Percona-Server-5.6.16-64.2
518 Percona-Server-5.6.16-64.1
519
520=== added file 'doc/source/tokudb/tokudb_multiple_clustering_keys.rst'
521--- doc/source/tokudb/tokudb_multiple_clustering_keys.rst 1970-01-01 00:00:00 +0000
522+++ doc/source/tokudb/tokudb_multiple_clustering_keys.rst 2014-05-06 12:44:40 +0000
523@@ -0,0 +1,62 @@
524+.. _tokudb_multiple_clustering_keys:
525+
526+==========================
527+ Multiple Clustering Keys
528+==========================
529+
530+TokuDB allows a secondary key to be defined as a clustering key. This means that all of the columns in the table are clustered with the secondary key. |Percona Server| parser and query optimizer support Multiple Clustering Keys when TokuDB engine is used. This means that the query optimizer will avoid primary clustered index reads and replace them by secondary clustered index reads in certain scenarios.
531+
532+The parser has been extended to support following syntax:
533+
534+.. code-block:: mysql
535+
536+ CREATE TABLE ... ( ..., CLUSTERING KEY identifier (column list), ...
537+ CREATE TABLE ... ( ..., UNIQUE CLUSTERING KEY identifier (column list), ...
538+ CREATE TABLE ... ( ..., CLUSTERING UNIQUE KEY identifier (column list), ...
539+ CREATE TABLE ... ( ..., CONSTRAINT identifier UNIQUE CLUSTERING KEY identifier (column list), ...
540+ CREATE TABLE ... ( ..., CONSTRAINT identifier CLUSTERING UNIQUE KEY identifier (column list), ...
541+
542+ CREATE TABLE ... (... column type CLUSTERING [UNIQUE] [KEY], ...)
543+ CREATE TABLE ... (... column type [UNIQUE] CLUSTERING [KEY], ...)
544+
545+ ALTER TABLE ..., ADD CLUSTERING INDEX identifier (column list), ...
546+ ALTER TABLE ..., ADD UNIQUE CLUSTERING INDEX identifier (column list), ...
547+ ALTER TABLE ..., ADD CLUSTERING UNIQUE INDEX identifier (column list), ...
548+ ALTER TABLE ..., ADD CONSTRAINT identifier UNIQUE CLUSTERING INDEX identifier (column list), ...
549+ ALTER TABLE ..., ADD CONSTRAINT identifier CLUSTERING UNIQUE INDEX identifier (column list), ...
550+
551+ CREATE CLUSTERING INDEX identifier ON ...
552+
553+Examples
554+========
555+
556+To create clustered index in TokuDB table, you need to add ``CLUSTERING`` keyword in front of any index that is to be created.
557+
558+* To create a clustered index while creating a new table:
559+
560+.. code-block:: mysql
561+
562+ CREATE TABLE city (city_id int PRIMARY KEY, name varchar(50), CLUSTERING KEY (citry_id)) engine=tokudb;
563+
564+* To add a clustered index on already existing table:
565+
566+.. code-block:: mysql
567+
568+ ALTER TABLE city ADD CLUSTERING INDEX clstr_key(city_id);
569+
570+or
571+
572+.. code-block:: mysql
573+
574+ CREATE CLUSTERING INDEX clstr_key ON city(city_id);
575+
576+Version Specific Information
577+============================
578+* :rn:`5.6.17-65.0` - |Percona Server| implemented support for Multiple Clustering Keys
579+
580+Other Reading
581+=============
582+
583+* `Introducing Multiple Clustering Indexes <http://www.tokutek.com/2009/05/introducing_multiple_clustering_indexes/>`_
584+* `Clustering indexes vs. Covering indexes <HTTP://www.tokutek.com/2009/05/clustering_indexes_vs_covering_indexes/>`_
585+
586
587=== modified file 'doc/source/upstream-bug-fixes.rst'
588--- doc/source/upstream-bug-fixes.rst 2014-04-25 10:55:01 +0000
589+++ doc/source/upstream-bug-fixes.rst 2014-05-06 12:44:40 +0000
590@@ -5,21 +5,39 @@
591 =============================================================
592
593 +-------------------------------------------------------------------------------------------------------------+
594+|:Upstream bug: :mysqlbug:`72163` - Rev 5774 broke rpl_plugin_load |
595+|:Launchpad bug: :bug:`1299688` |
596+|:Upstream state: Verified (checked on 2014-04-30) |
597+|:Fix Released: :rn:`5.6.17-65.0` |
598+|:Upstream fix: N/A |
599++-------------------------------------------------------------------------------------------------------------+
600+|:Upstream bug: :mysqlbug:`60782` - Audit plugin API: no MYSQL_AUDIT_GENERAL_LOG notifications with general...|
601+|:Launchpad bug: :bug:`1182535` |
602+|:Upstream state: Verified (checked on 2014-04-30) |
603+|:Fix Released: :rn:`5.6.17-65.0` |
604+|:Upstream fix: N/A |
605++-------------------------------------------------------------------------------------------------------------+
606+|:Upstream bug: :mysqlbug:`71250` - Bison 3 breaks mysql build |
607+|:Launchpad bug: :bug:`1262439` |
608+|:Upstream state: Closed |
609+|:Fix Released: :rn:`5.6.17-65.0` |
610+|:Upstream fix: N/A |
611++-------------------------------------------------------------------------------------------------------------+
612 |:Upstream bug: :mysqlbug:`71374` - Slave IO thread won't attempt auto reconnect to the master/error-code 1159|
613 |:Launchpad bug: :bug:`1268729` |
614-|:Upstream state: Verified (checked on 2014-03-17) |
615+|:Upstream state: Verified (checked on 2014-04-30) |
616 |:Fix Released: :rn:`5.6.16-64.1` |
617 |:Upstream fix: N/A |
618 +-------------------------------------------------------------------------------------------------------------+
619 |:Upstream bug: :mysqlbug:`71988` - page_cleaner: aggressive background flushing |
620 |:Launchpad bug: :bug:`1238039` |
621-|:Upstream state: Verified (checked on 2014-03-17) |
622+|:Upstream state: Verified (checked on 2014-04-30) |
623 |:Fix Released: :rn:`5.6.16-64.0` |
624 |:Upstream fix: N/A |
625 +-------------------------------------------------------------------------------------------------------------+
626 |:Upstream bug: :mysqlbug:`71624` - printf size_t results in a fatal warning in 32-bit debug builds |
627 |:Launchpad bug: :bug:`1277505` |
628-|:Upstream state: Can't repeat (checked on 2014-03-17) |
629+|:Upstream state: Can't repeat (checked on 2014-04-30) |
630 |:Fix Released: :rn:`5.6.16-64.0` |
631 |:Upstream fix: N/A |
632 +-------------------------------------------------------------------------------------------------------------+
633@@ -37,9 +55,9 @@
634 +-------------------------------------------------------------------------------------------------------------+
635 |:Upstream bug: :mysqlbug:`71708` - 70768 fix perf regression: high rate of RW lock creation and destruction |
636 |:Launchpad bug: :bug:`1279671` |
637-|:Upstream state: Verified (checked on 2014-03-17) |
638+|:Upstream state: Closed |
639 |:Fix Released: :rn:`5.6.16-64.0` |
640-|:Upstream fix: N/A |
641+|:Upstream fix: 5.6.19 |
642 +-------------------------------------------------------------------------------------------------------------+
643 |:Upstream bug: :mysqlbug:`54430` - innodb should retry partial reads/writes where errno was 0 |
644 |:Launchpad bug: :bug:`1262500` |
645@@ -61,13 +79,13 @@
646 +-------------------------------------------------------------------------------------------------------------+
647 |:Upstream bug: :mysqlbug:`71270` - Failures to end bulk insert for partitioned tables handled incorrectly |
648 |:Launchpad bug: :bug:`1204871` |
649-|:Upstream state: Verified (checked on 2014-03-17) |
650+|:Upstream state: Verified (checked on 2014-04-30) |
651 |:Fix Released: :rn:`5.6.16-64.0` |
652 |:Upstream fix: N/A |
653 +-------------------------------------------------------------------------------------------------------------+
654 |:Upstream bug: :mysqlbug:`71217` - Threadpool - add thd_wait_begin/thd_wait_end to the network IO functions |
655 |:Launchpad bug: :bug:`1159743` |
656-|:Upstream state: Open (checked on 2014-03-17) |
657+|:Upstream state: Open (checked on 2014-04-30) |
658 |:Fix Released: :rn:`5.6.15-63.0` |
659 |:Upstream fix: N/A |
660 +-------------------------------------------------------------------------------------------------------------+
661@@ -85,7 +103,7 @@
662 +-------------------------------------------------------------------------------------------------------------+
663 |:Upstream bug: :mysqlbug:`71411` - buf_flush_LRU() does not return correct number in case of compressed pages|
664 |:Launchpad bug: :bug:`1231918` |
665-|:Upstream state: Verified (checked on 2014-03-17) |
666+|:Upstream state: Verified (checked on 2014-04-30) |
667 |:Fix Released: :rn:`5.6.13-61.0` |
668 |:Upstream fix: N/A |
669 +-------------------------------------------------------------------------------------------------------------+
670@@ -97,7 +115,7 @@
671 +-------------------------------------------------------------------------------------------------------------+
672 |:Upstream bug: :mysqlbug:`70490` - Suppression is too strict on some systems |
673 |:Launchpad bug: :bug:`1205196` |
674-|:Upstream state: No Feedback (checked on 2014-03-17) |
675+|:Upstream state: No Feedback (checked on 2014-04-30) |
676 |:Fix Released: :rn:`5.6.13-61.0` |
677 |:Upstream fix: N/A |
678 +-------------------------------------------------------------------------------------------------------------+
679@@ -109,7 +127,7 @@
680 +-------------------------------------------------------------------------------------------------------------+
681 |:Upstream bug: :mysqlbug:`70500` - Page cleaner should perform LRU flushing regardless of server activity |
682 |:Launchpad bug: :bug:`1234562` |
683-|:Upstream state: Open (checked on 2014-03-17) |
684+|:Upstream state: Open (checked on 2014-04-30) |
685 |:Fix Released: :rn:`5.6.13-61.0` |
686 |:Upstream fix: N/A |
687 +-------------------------------------------------------------------------------------------------------------+
688@@ -127,31 +145,31 @@
689 +-------------------------------------------------------------------------------------------------------------+
690 |:Upstream bug: :mysqlbug:`68481` - InnoDB LRU flushing for MySQL 5.6 needs work |
691 |:Launchpad bug: :bug:`1232406` |
692-|:Upstream state: Verified (checked on 2014-03-17) |
693+|:Upstream state: Verified (checked on 2014-04-30) |
694 |:Fix Released: :rn:`5.6.13-61.0` |
695 |:Upstream fix: N/A |
696 +-------------------------------------------------------------------------------------------------------------+
697 |:Upstream bug: :mysqlbug:`70453` - Add hard timeouts to page cleaner flushes |
698 |:Launchpad bug: :bug:`1232101` |
699-|:Upstream state: Verified (checked on 2014-03-17) |
700+|:Upstream state: Verified (checked on 2014-04-30) |
701 |:Fix Released: :rn:`5.6.13-61.0` |
702 |:Upstream fix: N/A |
703 +-------------------------------------------------------------------------------------------------------------+
704 |:Upstream bug: :mysqlbug:`69170` - buf_flush_LRU is lazy |
705 |:Launchpad bug: :bug:`1231918` |
706-|:Upstream state: Verified (checked on 2014-03-17) |
707+|:Upstream state: Verified (checked on 2014-04-30) |
708 |:Fix Released: :rn:`5.6.13-61.0` |
709 |:Upstream fix: N/A |
710 +-------------------------------------------------------------------------------------------------------------+
711 |:Upstream bug: :mysqlbug:`68555` - thread convoys from log_checkpoint_margin with innodb_buffer_pool_inst... |
712 |:Launchpad bug: :bug:`1236884` |
713-|:Upstream state: Verified (checked on 2014-03-17) |
714+|:Upstream state: Verified (checked on 2014-04-30) |
715 |:Fix Released: :rn:`5.6.13-61.0` |
716 |:Upstream fix: N/A |
717 +-------------------------------------------------------------------------------------------------------------+
718 |:Upstream bug: :mysqlbug:`70228` - Is buf_LRU_free_page() really supposed to make non-zip block sticky at ...|
719 |:Launchpad bug: :bug:`1220544` |
720-|:Upstream state: Verified (checked on 2014-03-17) |
721+|:Upstream state: Verified (checked on 2014-04-30) |
722 |:Fix Released: :rn:`5.6.13-60.6` |
723 |:Upstream fix: N/A |
724 +-------------------------------------------------------------------------------------------------------------+
725@@ -169,13 +187,13 @@
726 +-------------------------------------------------------------------------------------------------------------+
727 |:Upstream bug: :mysqlbug:`70216` - Unnecessary overhead from persistent adaptive hash index latches |
728 |:Launchpad bug: :bug:`1218347` |
729-|:Upstream state: Verified (checked on 2014-03-17) |
730+|:Upstream state: Verified (checked on 2014-04-30) |
731 |:Fix Released: :rn:`5.6.13-60.6` |
732 |:Upstream fix: N/A |
733 +-------------------------------------------------------------------------------------------------------------+
734 |:Upstream bug: :mysqlbug:`62018` - innodb adaptive hash index mutex contention |
735 |:Launchpad bug: :bug:`1216804` |
736-|:Upstream state: Verified (checked on 2014-03-17) |
737+|:Upstream state: Verified (checked on 2014-04-30) |
738 |:Fix Released: :rn:`5.6.13-60.6` |
739 |:Upstream fix: N/A |
740 +-------------------------------------------------------------------------------------------------------------+
741@@ -193,13 +211,13 @@
742 +-------------------------------------------------------------------------------------------------------------+
743 |:Upstream bug: :mysqlbug:`42415` - UPDATE/DELETE with LIMIT clause unsafe for SBL even with ORDER BY PK ... |
744 |:Launchpad bug: :bug:`1132194` |
745-|:Upstream state: Verified (checked on 2014-03-17) |
746+|:Upstream state: Verified (checked on 2014-04-30) |
747 |:Fix Released: :rn:`5.6.13-60.5` |
748 |:Upstream fix: N/A |
749 +-------------------------------------------------------------------------------------------------------------+
750 |:Upstream bug: :mysqlbug:`69639` - mysql failed to build with dtrace Sun D 1.11 |
751 |:Launchpad bug: :bug:`1196460` |
752-|:Upstream state: Open (checked on 2014-03-17) |
753+|:Upstream state: Open (checked on 2014-04-30) |
754 |:Fix Released: :rn:`5.6.13-60.5` |
755 |:Upstream fix: N/A |
756 +-------------------------------------------------------------------------------------------------------------+
757@@ -217,7 +235,7 @@
758 +-------------------------------------------------------------------------------------------------------------+
759 |:Upstream bug: :mysqlbug:`69856` - mysql_install_db does not function properly in 5.6 for debug builds |
760 |:Launchpad bug: :bug:`1179359` |
761-|:Upstream state: Verified (checked on 2014-03-17) |
762+|:Upstream state: Verified (checked on 2014-04-30) |
763 |:Fix Released: :rn:`5.6.12-60.4` |
764 |:Upstream fix: N/A |
765 +-------------------------------------------------------------------------------------------------------------+
766@@ -229,7 +247,7 @@
767 +-------------------------------------------------------------------------------------------------------------+
768 |:Upstream bug: :mysqlbug:`71183` - os_file_fsync() should handle fsync() returning EINTR |
769 |:Launchpad bug: :bug:`1262651` |
770-|:Upstream state: Verified (checked on 2014-03-17) |
771+|:Upstream state: Verified (checked on 2014-04-30) |
772 |:Fix Released: :rn:`5.6.11-60.3` |
773 |:Upstream fix: N/A |
774 +-------------------------------------------------------------------------------------------------------------+
775@@ -259,7 +277,7 @@
776 +-------------------------------------------------------------------------------------------------------------+
777 |:Upstream bug: :mysqlbug:`68714` - Remove literal statement digest values from perfschema tests |
778 |:Launchpad bug: :bug:`1157078` |
779-|:Upstream state: Verified (checked on 2014-03-17) |
780+|:Upstream state: Verified (checked on 2014-04-30) |
781 |:Fix Released: :rn:`5.6.11-60.3` |
782 |:Upstream fix: N/A |
783 +-------------------------------------------------------------------------------------------------------------+
784@@ -283,13 +301,13 @@
785 +-------------------------------------------------------------------------------------------------------------+
786 |:Upstream bug: :mysqlbug:`68970` - fsp_reserve_free_extents switches from small to big tblspace handling ... |
787 |:Launchpad bug: :bug:`1169494` |
788-|:Upstream state: Verified (checked on 2014-03-17) |
789+|:Upstream state: Verified (checked on 2014-04-30) |
790 |:Fix Released: :rn:`5.6.11-60.3` |
791 |:Upstream fix: N/A |
792 +-------------------------------------------------------------------------------------------------------------+
793 |:Upstream bug: :mysqlbug:`68713` - create_duplicate_weedout_tmp_table() leaves key_part_flag uninitialized |
794 |:Launchpad bug: :bug:`1157037` |
795-|:Upstream state: Verified (checked on 2014-03-17) |
796+|:Upstream state: Verified (checked on 2014-04-30) |
797 |:Fix Released: :rn:`5.6.11-60.3` |
798 |:Upstream fix: N/A |
799 +-------------------------------------------------------------------------------------------------------------+
800@@ -301,13 +319,13 @@
801 +-------------------------------------------------------------------------------------------------------------+
802 |:Upstream bug: :mysqlbug:`68999` - SSL_OP_NO_COMPRESSION not defined |
803 |:Launchpad bug: :bug:`1183610` |
804-|:Upstream state: No Feedback (checked on 2014-03-17) |
805+|:Upstream state: No Feedback (checked on 2014-04-30) |
806 |:Fix Released: :rn:`5.6.11-60.3` |
807 |:Upstream fix: N/A |
808 +-------------------------------------------------------------------------------------------------------------+
809 |:Upstream bug: :mysqlbug:`68845` - Unnecessary log_sys->mutex reacquisition in mtr_log_reserve_and_write() |
810 |:Launchpad bug: :bug:`1163439` |
811-|:Upstream state: Verified (checked on 2014-03-17) |
812+|:Upstream state: Verified (checked on 2014-04-30) |
813 |:Fix Released: :rn:`5.6.11-60.3` |
814 |:Upstream fix: N/A |
815 +-------------------------------------------------------------------------------------------------------------+
816@@ -337,7 +355,7 @@
817 +-------------------------------------------------------------------------------------------------------------+
818 |:Upstream bug: :mysqlbug:`68476` - Suboptimal code in my_strnxfrm_simple() |
819 |:Launchpad bug: :bug:`1132350` |
820-|:Upstream state: Verified (checked on 2014-03-17) |
821+|:Upstream state: Verified (checked on 2014-04-30) |
822 |:Fix Released: :rn:`5.6.11-60.3` |
823 |:Upstream fix: N/A |
824 +-------------------------------------------------------------------------------------------------------------+
825@@ -397,7 +415,7 @@
826 +-------------------------------------------------------------------------------------------------------------+
827 |:Upstream bug: :mysqlbug:`61178` - Incorrect implementation of intersect(ulonglong) in non-optimized Bitmap..|
828 |:Launchpad bug: :bug:`1042517` |
829-|:Upstream state: Verified (checked on 2014-03-17) |
830+|:Upstream state: Verified (checked on 2014-04-30) |
831 |:Fix Released: :rn:`5.6.11-60.3` |
832 |:Upstream fix: N/A |
833 +-------------------------------------------------------------------------------------------------------------+
834@@ -409,7 +427,7 @@
835 +-------------------------------------------------------------------------------------------------------------+
836 |:Upstream bug: :mysqlbug:`64800` - mysqldump with --include-master-host-port putting quotes around port no. |
837 |:Launchpad bug: :bug:`1013432` |
838-|:Upstream state: Verified (checked on 2014-03-17) |
839+|:Upstream state: Verified (checked on 2014-04-30) |
840 |:Fix Released: :rn:`5.6.11-60.3` |
841 |:Upstream fix: N/A |
842 +-------------------------------------------------------------------------------------------------------------+
843@@ -439,13 +457,13 @@
844 +-------------------------------------------------------------------------------------------------------------+
845 |:Upstream bug: :mysqlbug:`25007` - memory tables with dynamic rows format |
846 |:Launchpad bug: N/A |
847-|:Upstream state: Verified (checked on 2014-03-17) |
848+|:Upstream state: Verified (checked on 2014-04-30) |
849 |:Fix Released: :rn:`5.6.11-60.3` |
850 |:Upstream fix: N/A |
851 +-------------------------------------------------------------------------------------------------------------+
852 |:Upstream bug: :mysqlbug:`61595` - mysql-test/include/wait_for_slave_param.inc timeout logic is incorrect |
853 |:Launchpad bug: :bug:`800035` |
854-|:Upstream state: Verified (checked on 2014-03-17) |
855+|:Upstream state: Verified (checked on 2014-04-30) |
856 |:Fix Released: :rn:`5.6.11-60.3` |
857 |:Upstream fix: N/A |
858 +-------------------------------------------------------------------------------------------------------------+
859@@ -457,7 +475,7 @@
860 +-------------------------------------------------------------------------------------------------------------+
861 |:Upstream bug: :mysqlbug:`68116` - InnoDB monitor may hit an assertion error in buf_page_get_gen in debug ...|
862 |:Launchpad bug: :bug:`1100178` |
863-|:Upstream state: Verified (checked on 2014-03-17) |
864+|:Upstream state: Verified (checked on 2014-04-30) |
865 |:Fix Released: :rn:`5.6.10-60.2` |
866 |:Upstream fix: N/A |
867 +-------------------------------------------------------------------------------------------------------------+
868@@ -469,13 +487,13 @@
869 +-------------------------------------------------------------------------------------------------------------+
870 |:Upstream bug: :mysqlbug:`20001` - Support for temp-tables in INFORMATION_SCHEMA |
871 |:Launchpad bug: N/A |
872-|:Upstream state: Verified (checked on 2014-03-17) |
873+|:Upstream state: Verified (checked on 2014-04-30) |
874 |:Fix Released: :rn:`5.6.5-60.0` |
875 |:Upstream fix: N/A |
876 +-------------------------------------------------------------------------------------------------------------+
877 |:Upstream bug: :mysqlbug:`69146` - Optimization in buf_pool_get_oldest_modification if srv_buf_pool_instances|
878 |:Launchpad bug: :bug:`1176496` |
879-|:Upstream state: Open (checked on 2014-03-17) |
880+|:Upstream state: Open (checked on 2014-04-30) |
881 |:Fix Released: :rn:`5.6.5-60.0` |
882 |:Upstream fix: N/A |
883 +-------------------------------------------------------------------------------------------------------------+

Subscribers

People subscribed via source and target branches