1. 07 Jun, 2013 2 commits
  2. 06 Jun, 2013 3 commits
    • Sergei Golubchik's avatar
      5.5 merge · 4749d40c
      Sergei Golubchik authored
      4749d40c
    • Vladislav Vaintroub's avatar
      fix compile error · 1ff1cb10
      Vladislav Vaintroub authored
      1ff1cb10
    • Michael Widenius's avatar
      Fixed timing failure in myisam-metadata.test · 5cf5a9a1
      Michael Widenius authored
      mysql-test/include/wait_show_condition.inc:
        Print failing statement if timeout
      mysql-test/r/myisam-metadata.result:
        Updated DBUG_SYNC
      mysql-test/t/myisam-metadata.test:
        Updated DBUG_SYNC.
        Removed wait_show_condtion, as this is not needed when we use DBUG_SYNC
        This should fix timing issues with the test
      mysys/thr_mutex.c:
        Added comments
      sql/sql_acl.cc:
        atoi -> atoll()  (Safety)
      storage/myisam/ha_myisam.cc:
        Send signal before mi_repair_by_sort.
      5cf5a9a1
  3. 05 Jun, 2013 2 commits
    • unknown's avatar
      Fix two small problems in previous push. · 64e53a0f
      unknown authored
      64e53a0f
    • unknown's avatar
      MDEV-26: Global transaction ID. · 5cb486d1
      unknown authored
      Fix problems related to reconnect. When we need to reconnect (ie. explict
      stop/start of just the IO thread by user, or automatic reconnect due to
      loosing network connection with the master), it is a bit complex to correctly
      resume at the right point without causing duplicate or missing events in the
      relay log. The previous code had multiple problems in this regard.
      
      With this patch, the problem is solved as follows. The IO thread keeps track
      (in memory) of which GTID was last queued to the relay log. If it needs to
      reconnect, it resumes at that GTID position. It also counts number of events
      received within the last, possibly partial, event group, and skips the same
      number of events after a reconnect, so that events already enqueued before the
      reconnect are not duplicated.
      
      (There is no need to keep any persistent state; whenever we restart slave
      threads after both of them being stopped (such as after server restart), we
      erase the relay logs and start over from the last GTID applied by SQL thread.
      But while the SQL thread is running, this patch is needed to get correct relay
      log).
      5cb486d1
  4. 03 Jun, 2013 1 commit
    • unknown's avatar
      MDEV-4605: Failing to load GTID slave position from rpl.gtid_slave_pos · 7ad47ab0
      unknown authored
      There were several cases where the slave GTID position was not loaded
      correctly before being used. This caused various failures such as
      corrupting the position at slave start and empty values of
      @@gtid_slave_pos and @@gtid_current_pos.
      
      Fixed by adding more checks for loaded position, and by always loading
      the position at server startup.
      7ad47ab0
  5. 01 Jun, 2013 2 commits
  6. 30 May, 2013 1 commit
  7. 29 May, 2013 2 commits
    • unknown's avatar
      MDEV-4485: Incorrect error handling in record_gtid(). · 6feadb10
      unknown authored
      Fix the error handling when access to the table mysql.gtid_slave_pos
      fails for whatever reason. Add some test cases.
      6feadb10
    • unknown's avatar
      MDEV-4485: Master did not allow slave to connect from the very start (empty... · 385780f5
      unknown authored
      MDEV-4485: Master did not allow slave to connect from the very start (empty GTID pos) if GTIDs from other multi_source master was present
      
      The idea in the code was to protect the user that tries to connect a slave
      to a master with completely different domains than what was intended. If
      none of the domains in the start position are present at all in the master
      binlog, we gave an error.
      
      However, this is a stupid idea. Because when a slave connects to a master
      to start replication from the very start of binlogs - such as when setting
      up new master->slave servers from scratch - there will be just this
      situation, the requested slave position is empty for all the domains in the
      master's binlog.
      
      So the code that gives this error is wrong, and the solution is simply to
      remove it.
      385780f5
  8. 28 May, 2013 3 commits
  9. 25 May, 2013 1 commit
  10. 24 May, 2013 1 commit
    • unknown's avatar
      MDEV-4475: Replication from MariaDB 10.0 to 5.5 does not work · 416aed25
      unknown authored
      The problem was the Gtid_list event which is logged to the binlog in
      10.0 and is not understood by the 5.5 server.
      
      This event is supposed to be replaced with a dummy event for 5.5
      servers. But the very first event logged in the very first binlog
      has an empty list of GTID, which makes the event too short to be
      replacable with an empty event.
      
      The fix is to pad the empty Gtid_list event to be big enough to
      be replacable by a dummy event.
      416aed25
  11. 23 May, 2013 1 commit
  12. 22 May, 2013 2 commits
    • unknown's avatar
      MDEV-26: Global transaction ID. · 1cd6eb5f
      unknown authored
      Change of user interface to be more logical and more in line with expectations
      to work similar to old-style replication.
      
      User can now explicitly choose in CHANGE MASTER whether binlog position is
      taken into account (master_gtid_pos=current_pos) or not (master_gtid_pos=
      slave_pos) when slave connects to master.
      
      @@gtid_pos is replaced by three separate variables @@gtid_slave_pos (can
      be set by user, replicated GTIDs only), @@gtid_binlog_pos (read only), and
      @@gtid_current_pos (a combination of the two, most recent GTID within each
      domain). mysql.rpl_slave_state is renamed to mysql.gtid_slave_pos to match.
      
      This fixes MDEV-4474.
      1cd6eb5f
    • Vladislav Vaintroub's avatar
      MDEV-4548 - compile sphinx.so/dll and include into packages · 7ba2ff93
      Vladislav Vaintroub authored
      replaced snippets_udf.cc with the latest version (2.0.8 from sphinxsource.com), fixed trivial errors on Windows.
      It will be compiled and installed into plugins directory now.
      7ba2ff93
  13. 27 May, 2013 1 commit
  14. 24 May, 2013 1 commit
  15. 21 May, 2013 4 commits
  16. 20 May, 2013 5 commits
  17. 19 May, 2013 4 commits
  18. 17 May, 2013 1 commit
    • Alexander Barkov's avatar
      Bug#MDEV-4518 Server crashes in is_white_space when it's run · 3ef880cb
      Alexander Barkov authored
      with query cache, charset ucs2 and collation ucs2_unicode_ci
      
        @ mysql-test/r/ctype_ucs2_query_cache.result
        @ mysql-test/t/ctype_ucs2_query_cache-master.opt
        @ mysql-test/t/ctype_ucs2_query_cache.test
          Adding tests
      
        @ sql/sql_cache.cc
          Fixing not to use default_character_set->state_map,
          which can point to a non-ASCII character set (utc2, utf16, utf32)
         and thus have state_map undefined.
      3ef880cb
  19. 16 May, 2013 1 commit
    • unknown's avatar
      Fix race condition in binlog dump thread during server shutdown. · d795bc9f
      unknown authored
      There was missing a check for THD::killed after THD::enter_cond(). This could
      cause the binlog dump thread to miss the kill signal during server shutdown
      and hang until it was force-closed.
      
      Also fix a race in a test case that occasionally fails in Buildbot.
      d795bc9f
  20. 15 May, 2013 2 commits
    • unknown's avatar
      MDEV-26: Global transaction ID. · 9fae9930
      unknown authored
      Implement START SLAVE UNTIL master_gtid_pos = "<GTID position>".
      
      Add test cases, including a test showing how to use this to promote
      a new master among a set of slaves.
      9fae9930
    • Michael Widenius's avatar
      - Solaris fixes: · 0fa77299
      Michael Widenius authored
        - Fixed that wait_timeout_func and wait_timeout tests works on solaris
        - We have to compile without NO_ALARM on Solaris as Solaris doesn't support timeouts on sockets with setsockopt(.. SO_RCVTIMEO).
        - Fixed that compile-solaris-amd64-debug works (before that we got a wrong ELF class: ELFCLASS64 on linkage)
      - Fixed some compiler warnings
      - Fixed some failing tests
      
      BUILD/compile-solaris-amd64-debug:
        Fixed that compile-solaris-amd64-debug works (before that we got a wrong ELF class: ELFCLASS64 on linkage)
      configure.cmake:
        We have to compile without NO_ALARM on Solaris as Solaris doesn't support timeouts on sockets with setsockopt(.. SO_RCVTIMEO)
      mysql-test/suite/parts/t/partition_basic_innodb.test:
        Mark test as big test (as otherwise we get timeout on our opensolaris machine in buildbot)
      mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test:
        Remove warning
      0fa77299