lp:~percona-dev/percona-server/mysql-55-eb

Created by Laurynas Biveinis and last modified
Get this branch:
bzr branch lp:~percona-dev/percona-server/mysql-55-eb
Members of Percona developers can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

3494. By Laurynas Biveinis

Portability fixes for dynamic MEMORY testsuite:

- Split out two checks from the heap_bug784464 test into two new
tests: heap_bug784464_32bit and heap_bug784464_64bit. This was
necessary as the logic for determining if the variable row format is
beneficial for a given schema considers the fixed and variable chunk
sizes in bytes, which are platform-specific.

- Mask platform-specific values in the test outputs.

3493. By Laurynas Biveinis

The CMake libevent port has a bug where the autogenerated
event-config.h file was unavailable to the sql/ directory, resulting
in build errors or system-installed event-config.h being used.

Fixed by adding the directory of event-config.h to the C include
directories of sql/.

3492. By Laurynas Biveinis

The CMake libevent port has a bug where the feature checks are
performed but their results are not available as C preprocessor
symbols. This results in, for example, epoll being not built as the
libevent backend despite it being available on the build system.

The fix is to add missing #cmakedefine lines to config.h.cmake

3491. By Ignacio Nin

Add script for compiling binary .tar.gz

3490. By Ignacio Nin

Use bundled libevent

Compile with -DWITH_LIBEVENT=bundled.
(HACK) When cmake(1)ing to another directory from a fresh tree (like
build-rpm.sh does), event-config.h is not properly generated in the
source directory. This is expected, however another header then looks for
it in the source directory and it cannot find it. So include a fake
symbolic link from the build to the source directory.

3489. By Laurynas Biveinis

Fix build issues with bundled libevent.

3488. By Laurynas Biveinis

Fix LP bug 791163, also re-fix bug 780721 in a different way.

The libevent version 1.x used in the thread pool implementation is not
thread-safe. Implementing the connection timeout support for the
thread pool requires calling libevent functions concurrently from
different threads and guarding call sites with a new mutex is
unfeasible due to the need libevent functions calling other libevent
functions indirectly (event_loop -> callback -> event_add).

Apparently this has been addressed in libevent 2.x, but for libevent
1.x the only feasible fix is to remove the connection timeout
support.

The bug 780721 fix is replaced by disabling its test if running with
the pool of threads.

3487. By Alexey Kopytov

Another attempt to fix bug #786236: mysqld--help-notwin fails in
mysql-55-eb

Move 'thread-pool-size' from @skipvar to @plugins. So it is ignore both
in --help text and the variable listing.

3486. By Laurynas Biveinis

Fix LP bug 790929, bug 790998, bug 791004: crash in libevent.

The most libevent calls are not thread-safe and the existing code did
not protect all call sites. Fix by introducing new LOCK_libevent
mutex and locking/unlocking it around the libevent calls.

3485. By Laurynas Biveinis

Fix race condition if the thread pool is used.

libevent_add_connection adds a thd to the libevent processing queue,
releases the LOCK_thread_count mutex, and then sets a field in the
thd. Since other thread pool threads get a chance to run and process
this thd after the LOCK_thread_count release, it is possible that they
fully process the request and destroy the thd before the current
thread can set the field in libevent_add_connection. The fix is to
protect field initialization by the same mutex too.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.