1. 03 Nov, 2013 2 commits
    • Michael Widenius's avatar
      Fixed test result · 97d50e21
      Michael Widenius authored
      97d50e21
    • Michael Widenius's avatar
      Fixed things missing in merge between 10.0-base and 10.0 · de9d9792
      Michael Widenius authored
      Updated --help text to declare --slave-parallel-threads as an alpha feature
      
      mysql-test/r/mysqld--help.result:
        Updated --help text
      sql/slave.cc:
        Added missing trans_retries++ that caused rpl_deadlock_innodb.test to fail.
        This is safe as this part is never run in parallel.
      sql/sql_base.cc:
        Fixed temporary table handling (part of merge)
      sql/sys_vars.cc:
        Updated --help text to declare --slave-parallel-threads as an alpha feature
      de9d9792
  2. 01 Nov, 2013 2 commits
  3. 31 Oct, 2013 2 commits
    • unknown's avatar
      MDEV-5206: Incorrect slave old-style position in MDEV-4506, parallel replication. · 39df665a
      unknown authored
      In parallel replication, there are two kinds of events which are
      executed in different ways.
      
      Normal events that are part of event groups/transactions are executed
      asynchroneously by being queued for a worker thread.
      
      Other events like format description and rotate and such are executed
      directly in the driver SQL thread.
      
      If the direct execution of the other events were to update the old-style
      position, then the position gets updated too far ahead, before the normal
      events that have been queued for a worker thread have been executed. So
      this patch adds some special cases to prevent such position updates ahead
      of time, and instead queues dummy events for the worker threads, so that
      they will at an appropriate time do the position updates instead.
      
      (Also fix a race in a test case that happened to trigger while running
      tests for this patch).
      39df665a
    • Alexander Barkov's avatar
      A few minor Unicode collation customization improvements were made, · bd3dc542
      Alexander Barkov authored
      which makes it possible to add more world language collations
      with very complex collation rules (e.g. Myanmar):
      - Weight string for a single character in a user defined collation
        was erroneously limited to 7 weights (instead of 8 weights).
        Added an extra element in the user-defined weight arrays,
        to fit 8 non-zero weights.
      - Weight string limit for contractions was made two times longer (16 weights),
        which allows longer contractions without affecting the performance
        of filesort.
      - A user-defined collation now refuses to initialize and reports an error
        in case if a weight string gets longer than 8 weights for a single character,
        or longer than 16 weights for a contraction. Previously weight strings
        for such characters (and contractions) were cut, so a collation
        could silently start with wrong rules.
      - Fixed a bug in handling rules like "&a << b" in combination with
        shift-after-method="expand". The primary weight for "b" was not
        correctly calculated, which erroneously made "b" primary greater than "a"
        instead of primary equal to "a".
      bd3dc542
  4. 30 Oct, 2013 2 commits
    • Sergey Vojtovich's avatar
      Merge Spider updates. Fixes · eea91f63
      Sergey Vojtovich authored
      MDEV-4736 - Assertion `! is_set()' fails in Diagnostics_area::set_ok_status on
                  UPDATE which violates constraint on a remote table
      eea91f63
    • unknown's avatar
      MDEV-5196: Server hangs or assertion `!thd->wait_for_commit_ptr' fails on... · 9c8da4ed
      unknown authored
      MDEV-5196: Server hangs or assertion `!thd->wait_for_commit_ptr' fails on MASTER_POS_WAIT with slave-parallel-threads > 0
      
      Fix a couple of issues in MDEV-4506, Parallel replication:
      
       - Missing mysql_cond_signal(), which could cause hangs.
      
       - Fix incorrect update of old-style replication position.
      
       - Change assertion to error handling (can trigger on manipulated/
         corrupt binlog).
      9c8da4ed
  5. 29 Oct, 2013 9 commits
  6. 28 Oct, 2013 3 commits
  7. 27 Oct, 2013 3 commits
  8. 26 Oct, 2013 3 commits
  9. 25 Oct, 2013 5 commits
    • Olivier Bertrand's avatar
      - Add new features to ODBC table type · ba3f4a2c
      Olivier Bertrand authored
        Srcdef definition
        Execute command tables
        uncomplete connect string
      
      modified:
        storage/connect/ha_connect.cc
        storage/connect/odbccat.h
        storage/connect/odbconn.cpp
        storage/connect/odbconn.h
        storage/connect/plgdbsem.h
        storage/connect/plgdbutl.cpp
        storage/connect/tabodbc.cpp
      ba3f4a2c
    • unknown's avatar
      MDEV-5189: Incorrect parallel apply in parallel replication · 6a38b594
      unknown authored
      Two problems were fixed:
      
      1. When not in GTID mode (master_use_gtid=no), then we must not apply events
         in different domains in parallel (in non-GTID mode we are not capable of
         restarting at different points in different domains).
      
      2. When transactions B and C group commit together, but after and separate
         from A, we can apply B and C in parallel, but both B and C must not start
         until A has committed. Fix sub_id to be globally increasing (not just
         per-domain increasing) so that this wait (which is based on sub_id) can be
         done correctly.
      6a38b594
    • Alexander Barkov's avatar
      Better test coverage for WL#4013 Unicode german2 collation · 91edb6f7
      Alexander Barkov authored
      Merge from MySQL-5.6
      91edb6f7
    • Alexander Barkov's avatar
      MDEV-5180 Data type for WEIGHT_STRING is too short in some cases · 71f8ca65
      Alexander Barkov authored
      (a bug in upstream)
      71f8ca65
    • unknown's avatar
      MDEV-4506: Parallel replication. · 80d0dd7b
      unknown authored
      Do not update relay-log.info and master.info on disk after every event
      when using GTID mode:
      
       - relay-log.info and master.info are not crash-safe, and are not used
         when slave restarts in GTID mode (slave connects with GTID position
         instead and immediately rewrites the file with the new, correct
         information found).
      
       - When using GTID and parallel replication, the position in
         relay-log.info is misleading at best and simply wrong at worst.
      
       - When using parallel replication, the fact that every single
         transaction needs to do a write() syscall to the same file is
         likely to become a serious bottleneck.
      
      The files are still written at normal slave stop.
      
      In non-GTID mode, the files are written as normal (this is needed to
      be able to restart after slave crash, even if such restart is then not
      crash-safe, no change).
      80d0dd7b
  10. 24 Oct, 2013 4 commits
  11. 23 Oct, 2013 5 commits
    • Sergei Golubchik's avatar
      MDEV-5176 Server crashes in fill_schema_applicable_roles on select from... · 65eee0be
      Sergei Golubchik authored
      MDEV-5176 Server crashes in fill_schema_applicable_roles on select from APPLICABLE_ROLES after a suicide
      
      Don't assume that thd->security_ctx->priv_user is an actually existing user account
      65eee0be
    • Sergei Golubchik's avatar
      MDEV-5170 Assertion `(&(&acl_cache->lock)->m_mutex)->count > 0 &&... · 7761a278
      Sergei Golubchik authored
      MDEV-5170 Assertion `(&(&acl_cache->lock)->m_mutex)->count > 0 && pthread_equal(pthread_self(), (&(&acl_cache->lock)->m_mutex)->thread)' fails after restarting server with a pre-created role grants
      
      lock acl_cache->lock mutex for the duration of acl_load
      7761a278
    • unknown's avatar
      MDEV-4506: Parallel replication. · a09d2b10
      unknown authored
      Fix some more parts of old-style position updates.
      Now we save in rgi some coordinates for master log and relay log, so
      that in do_update_pos() we can use the right set of coordinates with
      the right events.
      
      The Rotate_log_event::do_update_pos() is fixed in the parallel case
      to not directly update relay-log.info (as Rotate event runs directly
      in the driver SQL thread, ahead of actual event execution). Instead,
      group_master_log_file is updated as part of do_update_pos() in each
      event execution.
      
      In the parallel case, position updates happen in parallel without
      any ordering, but taking care that position is not updated backwards.
      Since position update happens only after event execution this leads
      to the right result.
      
      Also fix an access-after-free introduced in an earlier commit.
      a09d2b10
    • unknown's avatar
      MDEV-5133: Test suite tests *_func_view fail in time zones East of UTC+3 · e6ac94a6
      unknown authored
      test time increased to be working on all timezones.
      e6ac94a6
    • Sergei Golubchik's avatar