An error occurred fetching the project authors.
  1. 22 May, 2013 1 commit
    • 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
  2. 05 May, 2013 1 commit
    • Michael Widenius's avatar
      Fixed errors and compiler warnings found by buildbot · 5333dafa
      Michael Widenius authored
      Solaris fixes:
      - 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)
      - Added missing sync_with_master
      Other bug fixes:
      - Free memory for rpl_global_gtid_binlog_state before exit() to avoid 'accessing uninitalized mutex' error.
      
      
      
      BUILD/FINISH.sh:
        Fixed issues on Solaris with ksh
      BUILD/compile-solaris-amd64-debug:
        Added missing -m64 flag
      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/rpl/t/rpl_gtid_mdev4473.test:
        - Added missing sync_with_master (fix by knielsen)
      sql-common/client.c:
        Added () to get rid of compiler warning
      sql/item_strfunc.cc:
        Fixed compiler warning
      sql/log.cc:
        Free memory for static variable rpl_global_gtid_binlog_state before exit()
        - If we are compiling with safemalloc, we would try to call sf_free() for some members after sf_terminate() was called, which would result of trying to access the uninitalized mutex 'sf_mutex'
      sql/multi_range_read.cc:
        Fixed compiler warnings of converting double to ulong.
      sql/opt_range.cc:
        Fixed compiler warnings of converting double to ulong or uint
        - Better to have all variables that can be number of rows as 'ha_rows'
      sql/rpl_gtid.cc:
        Added rpl_binlog_state::free() to be able to free memory for static objects before exit()
      sql/rpl_gtid.h:
        Added rpl_binlog_state::free() to be able to free memory for static objects before exit()
      sql/set_var.cc:
        Fixed compiler warning
      sql/sql_join_cache.cc:
        Fixed compiler warnings of converting double to uint
      sql/sql_show.cc:
        Added cast to get rid of compiler warning
      sql/sql_statistics.cc:
        Remove code that didn't do anything.
        (store_record() with record[0] is a no-op)
      storage/xtradb/os/os0file.c:
        Added  __attribute__ ((unused))
      support-files/compiler_warnings.supp:
        Ignore warnings from atomic_add_64_nv
        (was not able to fix this with a cast as the macro is a bit different between systems)
      vio/viosocket.c:
        Added more DBUG_PRINT
      5333dafa
  3. 03 May, 2013 1 commit
    • unknown's avatar
      MDEV-4473: mysql_binlog_send() starts sending events from wrong GTID position... · 5aa0d185
      unknown authored
      MDEV-4473: mysql_binlog_send() starts sending events from wrong GTID position in some master failover scenarios
      
      Suppose binlog file X has in its Gtid_list_event: 0-1-3,0-2-5, and suppose the
      slave requests to start replicating after 0-1-3.
      
      In this case the bug was that master would start sending events from the start
      of X. This is wrong, because 0-2-4 and 0-2-5 are contained in X-1, and are
      needed by the slave. So these events were lost.
      
      On the other hand, if the slave requested 0-2-5, then it _is_ correct to start
      sending from the beginning of binlog file X, because 0-2-5 is the last GTID
      logged in earlier binlogs. The difference is that 0-2-5 is the last of the
      GTIDs in the Gtid_list_event. The problem was that the code did not check that
      the matched GTID was the last one in the list.
      
      Fixed by checking if the gtid requested by slave that matches a gtid in the
      Gtid_list_event is the last event for that domain in the list. If not, go back
      to a prior binlog to ensure all needed events are sent to slave.
      
      mysql-test/include/show_events.inc:
        Backport --let $binlog_file=LAST, used by MDEV-4473 test case.
      5aa0d185