Branch: toku_opr3
Commits on Aug 30, 2016
  1. Don't need to report waits for temporary conflicts.

    knielsen committed Aug 30, 2016
    If the extra retry before wait succeeds, the wait callback need not be
Commits on Aug 28, 2016
Commits on Aug 26, 2016
Commits on Aug 25, 2016
  1. Clean up a bit the async deadlock kill for parallel replication.

    knielsen committed Aug 25, 2016
    Main functional change is to first kill the victim thread, and then
    signal it on a condition that background kill has completed. This
    should avoid some (perhaps unlikely) races between async deadlock kill
    and victim transaction completion.
Commits on Aug 24, 2016
  1. the thread may have been killed before its lock request was added to …

    prohaska7 committed Aug 24, 2016
    …the pending set. check if the thread is killed before waiting
  2. Fix interaction between threads during parallel replication deadlock …

    knielsen committed Aug 24, 2016
    With asynchronous deadlock kill, we need to make sure that the to-be-killed
    thread does not go away while the kill is pending in the queue of the
    background thread.
    Do this by marking the thread in thd->rgi_slave->killed_for_retry that a
    kill is pending, and having threads wait for that flag to clear.
  3. Also report waits in case a deadlock is detected.

    knielsen committed Aug 24, 2016
    If transaction T1 tries to get a lock held by a later transaction T2,
    and T1 fails due to deadlock, then we can be pretty sure that T1 will
    get a row conflict with T2 again. So we might as well get T2 deadlock
    killed as soon as possible to allow parallel replication to continue.
  4. Restore parallel replication async deadlock kill

    knielsen committed Aug 24, 2016
    Restore the original code for parallel replication deadlock kill.
    When a deadlock kill is detected inside the storage engine, the kill
    is not done immediately, to avoid calling back into the storage engine
    kill_query method with various lock subsystem mutexes held. Instead the
    kill is queued and done later by a slave background thread.
    This avoids the need for locking hacks in kill_query, and for the
    TokuDB implementation solves a problem with the fine-grained
    per-locktree locking order.
    With this patch, I was not able so far to reproduce neither the hangs
    nor the crash/assertion seen previously, though more tests will be
    meeded to say this conclusively.
  5. Intermediate/incomplete commit for TokuDB optimistic parallel replica…

    knielsen committed Aug 24, 2016
    Batch up wait reports to after traversal.
    Some random temporary debug printouts.
Commits on Aug 23, 2016
Commits on Aug 19, 2016
  1. Somewhat better handling oflocking around thd_report_wait_for and kil…

    knielsen committed Aug 19, 2016
    Set a flag around thd_report_wait_for which prevents attempts to
    recursively re-lock the mutex in case another waiting transaction
    needs to be killed.
  2. Incomplete changes towards fixing optimistic parallel replication for…

    knielsen committed Aug 19, 2016
    … TokuDB.
     - Do wait callback from retry instead of start, needed to catch all
       waits that require killing transactions.
     - Disable locking around kill_query() for now, as when called from
       thd_report_wait_for(), the lock is already held.
     - Disable should_retry_lock_requests optimisation, as it causes
       missed wakeups that makes parallel replication hang.
     - Some temp debug output.
Commits on Aug 18, 2016
  1. fix race in tokudb lock manager between lock request start, retry, an…

    prohaska7 committed Aug 18, 2016
    …d wait. previously, the race was resolved via a lock timeout. now, the lock request wait checks again for a lock conflict.
  2. Merge pull request MariaDB#206 from prohaska7/10.1-with-asan

    svoj committed Aug 18, 2016
    MDEV-10412 fix WITH_ASAN option for 10.1
Commits on Aug 17, 2016
  1. MDEV-10404 - Improved systemd service hardening causes SELinux problems

    svoj committed Aug 17, 2016
    Disabled NoNewPrivileges until SELinux policy is fixed.
Commits on Aug 16, 2016
  1. MDEV-10553: Semi-sync replication hangs when master opens new binlog …

    knielsen committed Aug 16, 2016
    In the AFTER_SYNC case, semi-sync was taking the binlog file name from
    the wrong place, so around binlog rotation it could be using the new
    name with a position belonging to the previous binlog file name.
    Signed-off-by: Kristian Nielsen <>
Commits on Aug 12, 2016
  1. Initial steps towards TokuDB optimistic parallel replication support …

    knielsen committed Aug 12, 2016
    A callback is registered that can invoke thd_report_wait_for() with
    the THDs that a transaction goes to wait on.
Commits on Aug 8, 2016
  1. Add show slave status output

    root committed Aug 8, 2016
  2. Add parallel replication tests for TokuDB

    root committed Aug 8, 2016
Commits on Aug 2, 2016
  1. Merge pull request MariaDB#208 from Cona19/10.1-remove-unnecessary-se…

    janlindstrom committed Aug 2, 2016
    Remove unnecessary semicolon
Commits on Aug 1, 2016
  1. MDEV-10478: Trx abort does not work in autocommit mode

    Nirbhay Choubey
    Nirbhay Choubey committed Aug 1, 2016
    THD's statement transaction handle (st_transactions::stmt)
    should also be looked for registered htons while serving a
    request to abort a transaction.
  2. MDEV-10470: main.derived fails, buildbot is broken

    spetrunia committed Aug 1, 2016
    - Update test result (checked)
Commits on Jul 28, 2016
  1. MDEV-10429: sys_vars.sysvars_wsrep fails in buildbot on host 'work' (…

    Nirbhay Choubey
    Nirbhay Choubey committed Jul 28, 2016
    …valgrind builder)
    - Fixed the test
    - Improved comment for wsrep_drupal_282555_workaround
Commits on Jul 27, 2016
  1. MDEV-10396: MariaDB does not restart after upgrade on debian 8

    Nirbhay Choubey
    Nirbhay Choubey committed Jul 22, 2016
    During wsrep position recovery, script
    redirected mysqld's error log to a temporary file in order
    to find the start position. This, however, will not work
    if --log-error is configured for the server.
    Fixed by using --log-error in command line instead of
    [Patch contributed by Philippe MARASSE]
  2. MDEV-10389: Query returns different results on a debug vs non-debug b…

    spetrunia committed Jul 27, 2016
    The problem was caused by a merged semi-join, which contained a non-merged
    semi-join, which used references to the top-level query in the left_expr.
    When moving non-merged semi-join from the subquery to its parent, do not
    forget to call fix_after_pullout for its Item_subselect. We need to do
    that specifically, because non-merged semi-joins do not have their
    IN-equality in the WHERE clause at this stage.
Commits on Jul 24, 2016
Commits on Jul 22, 2016
  1. MDEV-10045: Server crashes in Time_and_counter_tracker::incr_loops

    Oleksandr Byelkin
    Oleksandr Byelkin committed Jun 22, 2016
    Do not set 'optimized' flag until whole optimization procedure is finished.
Commits on Jul 21, 2016
  1. MDEV-10294: MTR using --valgrind-option to specify a tool / fixing ca…

    grooverdan authored and elenst committed Jul 21, 2016
    …llgrind [10.1] (MariaDB#200)
    * MDEV-10294: Put testname into environment as MTR_TEST_NAME during MTR
    * MDEV-10294: restructure mtr to allow --valgrind-option=--tool=XXX
    * MDEV-10294: mtr valgrind - supressions all tools + feedback