4557 Joerg Bruehe 2012-11-08 [merge]
Upmerge.
modified:
packaging/rpm-uln/mysql-chain-certs.patch
packaging/rpm-uln/mysql.spec.sh
4556 Andrei Elkin 2012-11-08
Bug #14641110 ON SOLARIS , SLAVE_PARALLEL_WORKERS DEGRADES REPLICATION PERFORMANCE
It was observed that on some platforms like Solaris x86 MTS applies events
slow. The reason appears to be in that when Coordinator thread is sluggish
for some reason it could enter a napping routine while the Worker actually has very
little to do.
Meanwhile low-running Worker can empty its assignment queue to get starving.
So more to the waste of time with sleeping, at awakening Coordinator
had to signal the Worker about the first assignement in the queue.
In contrast, the idea of the napping routine was to minimize signalling.
Fixed with restricting conditions to enter napping block.
Effectivly scheduling to about to become hungry Worker won't be delayed.
As a side effect, integer overflow in diff_timespec() of include/my_pthread.h
is eliminated as well.
@ include/my_pthread.h
Correcting diff_timespec() which was prone to overflow.
@ sql/rpl_rli_pdb.cc
Entering the nap section in append_item_to_jobs() is made less easy. Permission is granted
with the being schedule Worker queue len is above the underrun level.
The max nap is constrained to 1 ms.
Nap weight factor is made computed more accurately. In particular, then a
Worker queue len gets below the overrun level all increments done to rli->mts_wq_excess_cnt
by the worker are subtracted from the global counter.
Some number of extra white spaces are removed.
@ sql/rpl_rli_pdb.h
added underrun_level,excess_cnt to Slave_worker class.
modified:
include/my_pthread.h
sql/rpl_rli_pdb.cc
sql/rpl_rli_pdb.h
=== modified file 'packaging/rpm-uln/mysql-chain-certs.patch'
--- a/packaging/rpm-uln/mysql-chain-certs.patch 2012-06-08 17:44:06 +0000
+++ b/packaging/rpm-uln/mysql-chain-certs.patch 2012-11-08 14:49:28 +0000
@@ -9,19 +9,23 @@ Fedora builds, I'm not feeling motivated
See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158
+ ===
-diff -Naur mysql-5.1.47.orig/vio/viosslfactories.c mysql-5.1.47/vio/viosslfactories.c
---- mysql-5.1.47.orig/vio/viosslfactories.c 2010-05-06 11:28:07.000000000 -0400
-+++ mysql-5.1.47/vio/viosslfactories.c 2010-05-26 23:23:46.000000000 -0400
-@@ -100,7 +100,7 @@
- (long) ctx, cert_file, key_file));
- if (cert_file)
+Joerg Bruehe, MySQL Build Team at Oracle: First patch adapted to code changes in MySQL 5.5
+
+
+diff -Naur mysql-5.5.29.orig/vio/viosslfactories.c mysql-5.5.29/vio/viosslfactories.c
+--- mysql-5.5.29.orig/vio/viosslfactories.c 2010-05-06 11:28:07.000000000 -0400
++++ mysql-5.5.29/vio/viosslfactories.c 2010-05-26 23:23:46.000000000 -0400
+@@ -106,7 +106,7 @@
+ key_file= cert_file;
+
+ if (cert_file &&
+- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0)
++ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0)
{
-- if (SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0)
-+ if (SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0)
- {
- *error= SSL_INITERR_CERT;
- DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file));
+ *error= SSL_INITERR_CERT;
+ DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file));
diff -Naur mysql-5.1.47.orig/extra/yassl/src/ssl.cpp mysql-5.1.47/extra/yassl/src/ssl.cpp
--- mysql-5.1.47.orig/extra/yassl/src/ssl.cpp 2010-05-06 11:24:26.000000000 -0400
+++ mysql-5.1.47/extra/yassl/src/ssl.cpp 2010-05-26 23:29:13.000000000 -0400
=== modified file 'packaging/rpm-uln/mysql.spec.sh'
--- a/packaging/rpm-uln/mysql.spec.sh 2012-11-07 19:32:54 +0000
+++ b/packaging/rpm-uln/mysql.spec.sh 2012-11-08 14:49:28 +0000
@@ -244,8 +244,7 @@ Patch13: mysql-expired-certs.patch
# Will not be used by MySQL
# Patch14: mysql-missing-string-code.patch Undecided, will not work in 5.5 (cmake)
# Patch15: mysql-lowercase-bug.patch Fixed in MySQL 5.1.54 and 5.5.9
-# Patch16: mysql-chain-certs.patch Currently, this patch is broken
-# by server code changes to "vio/viosslfactories.c"
+Patch16: mysql-chain-certs.patch
Patch17: mysql-5.5-libdir.patch
Patch18: mysql-5.5-fix-tests.patch
Patch19: mysql-5.5-mtr1.patch
@@ -400,8 +399,7 @@ cd %{src_dir} # read about "%setup -n"
# %patch10 -p1
# %patch13 -p1
# %patch14 -p1
-# %patch16 -p1 Currently, this patch is broken
-# by server code changes to "vio/viosslfactories.c"
+%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.6 branch (joerg.bruehe:4556 to 4557) | Joerg Bruehe | 9 Nov |