1. 23 May, 2013 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-4566 : Failing DBUG_ASSERT() in SELECT SLEEP(), with threadpool. · 08ce9bfe
      Vladislav Vaintroub authored
      This bug only happens with long sleep()s ( > 5 sec), and in debug version.
      
      Analysis: 
      The assertion is caused by nested thd_wait_begin() calls, which is not an expected condition.
      -  "outer" thd_wait_begin()) , in Item_func_sleep::val_int()
      -  "inner" thd_wait_begin() in Interruptible_wait::wait(). This function periodically checks whether connection is still valid, via THD::is_connection(), which ends up  calling vio_io_wait()  with timeout parameter set to  0.
      
      
      Fix is not to call thd wait callback in vio_io_wait(), if timeout parameter is 0. There is no "waiting" in this case.
      08ce9bfe
  2. 20 May, 2013 2 commits
  3. 03 May, 2013 2 commits
    • unknown's avatar
      Merge 10.0-base -> 10.0 · d0d05dae
      unknown authored
      d0d05dae
    • 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
  4. 02 May, 2013 2 commits
    • Michael Widenius's avatar
      Instead of writing "Errcode" to the log for Slave errors, use "Internal MariaDB error code" · eb75edfb
      Michael Widenius authored
      This makes it clear that the error code has nothing to do with errno.
      
      
      mysql-test/include/mtr_warnings.sql:
        Fixed suppression for new slave error messages
      mysql-test/lib/My/Test.pm:
        Use 'send' instead of 'print' to avoid errors about "wrong class ... back attempt"
      mysql-test/lib/v1/mtr_report.pl:
        Fixed suppression for new slave error messages
      mysql-test/mysql-test-run.pl:
        Fixed suppression for new slave error messages
        Removed warning from perl 5.16.2 about arrays
      mysql-test/r/flush_read_lock.result:
        Fixed suppression for new slave error messages
      sql/rpl_reporting.cc:
        Instead of writing "Errcode" to the log for Slave errors, use "Internal MariaDB error code"
      eb75edfb
    • Michael Widenius's avatar
      Fixed: MDEV-4352; LOAD DATA was not multi-source safe · 8cdb118a
      Michael Widenius authored
      - Calls to cleanup_load_tmpdir() could delete temporary files for another master connection
      - Concurrent LOAD DATA commands from two master connections could use the same file name
      
      Other bug fixes:
      - Enlarge buffer for connection names with 'special characters' one can't store in filenames
      
      Optimization:
      - Don't do 'lower case' of connection names. We can use cmp_connection_name, where we already have the connection name in lower case.
      
      
      mysql-test/suite/multi_source/load_data.result:
        Test case for MDEV-4352
      mysql-test/suite/multi_source/load_data.test:
        Test case for MDEV-4352
      sql/log_event.cc:
        Fixed: MDEV-4352
        - Calls to cleanup_load_tmpdir() could delete temporary files for another master connection
        - Concurrent LOAD DATA commands from two master connections could use the same file name
        
        The fix was to add the connection name (if one exists) to all slave temporary files used by LOAD DATA
      sql/rpl_mi.cc:
        Enlarge buffer for connection names with 'special characters' one can't store in filenames
        Use mi->cmp_connection_name for connection file names.
      sql/rpl_rli.cc:
        Use mi->cmp_connection_name for connection file names.
      sql/slave.cc:
        Removed not needed empty line
      sql/sql_const.h:
        Added MAX_FILENAME_MBWIDTH to be able to calculate buffer length for connection_names stored in file names
      sql/sql_repl.cc:
        Use mi->cmp_connection_name for connection file names.
      8cdb118a
  5. 29 Apr, 2013 2 commits
  6. 28 Apr, 2013 1 commit
  7. 25 Apr, 2013 2 commits
    • Alexander Barkov's avatar
      ha_cassandra.so and ha_oqgraph.so can be build only if boost is installed · bc80fb07
      Alexander Barkov authored
      on the build machine. So put them into the deb packages optionally.
           
      Additionally, fixing cassandra/CMakeLists.txt to work with thrift
      installed in /opt/local and /opt. It was supposed to work, but did
      not work actually. Only thrift installed in /usr or /usr/local worked.
      
      
      renamed:
        debian/dist/Debian/mariadb-server-10.0.files => debian/dist/Debian/mariadb-server-10.0.files.in
        debian/dist/Ubuntu/mariadb-server-10.0.files => debian/dist/Ubuntu/mariadb-server-10.0.files.in
      modified:
        .bzrignore
        CMakeLists.txt
        storage/cassandra/CMakeLists.txt
        storage/cassandra/cassandra_se.cc
        storage/cassandra/gen-cpp/Cassandra.h
        storage/cassandra/gen-cpp/cassandra_types.h
        storage/oqgraph/CMakeLists.txt
        debian/dist/Debian/mariadb-server-10.0.files.in
        debian/dist/Ubuntu/mariadb-server-10.0.files.in
      bc80fb07
    • unknown's avatar
      Fix more failures in buildbot. · ced65e21
      unknown authored
      Server shutdown timeout of 10 seconds in test cases is too little for heavily
      loaded test servers.
      
      Fix innodb_bug12902967 to not fail with wrong error log output if we have
      warnings about too few AIO handles for InnoDB.
      
      Fix typo which could lead to unnecessarily replacing GTID event with dummy
      event.
      ced65e21
  8. 24 Apr, 2013 2 commits
    • Alexander Barkov's avatar
      Adding ha_oqgraph.so and ha_cassandra.so back into the Debian and Ubuntu · 616e7a74
      Alexander Barkov authored
      packages (they were unintentionally removed while moving ha_connect.so
      into a separate package).
      
      modified:
        debian/dist/Debian/mariadb-server-10.0.files
        debian/dist/Ubuntu/mariadb-server-10.0.files
      616e7a74
    • unknown's avatar
      Add missing check for thd->killed in mysql_binlog_send(). · 6b97512b
      unknown authored
      The slave dump thread running on the master only checked thd->killed whenever
      it reached the end of a binlog file, not between events. This could
      unnecessarily delay server shutdown.
      
      This was found by code inspection while tracking down some occasional "forcing
      close of thread..." errors in Buildbot. Hopefully this will fix the failures,
      but the fix is correct in any case.
      
      Also increase the wait during server shutdown, 2 seconds is a bit tight in
      case of heavy I/O stall, and it seems better to delay shutdown a bit than
      force-kill threads unnecessarily.
      
      Also fix some races in test cases that restart the mysqld server. The .expect
      file should be changed with --append_file, --remove_file + --write_file
      creates a short window where mysqld can error out due to .expect file missing.
      6b97512b
  9. 23 Apr, 2013 1 commit
  10. 22 Apr, 2013 5 commits
  11. 21 Apr, 2013 8 commits
  12. 20 Apr, 2013 8 commits
    • unknown's avatar
      2e830cfb
    • Igor Babaev's avatar
      Merge 10.0-base -> 10.0 · 6edcd45e
      Igor Babaev authored
      6edcd45e
    • Alexander Barkov's avatar
      Recoding new results · 30651fd2
      Alexander Barkov authored
      (the format changed during Sergei's merge of the connect engine and discovery)
      
      modified:
        storage/connect/mysql-test/connect/r/odbc_xls.result
      30651fd2
    • Alexander Barkov's avatar
      Merging from maria-10.0-connect (DEB packaging related fixes) · 63fb0522
      Alexander Barkov authored
      added:
        debian/mariadb-connect-engine-10.0.files
      modified:
        cmake/build_configurations/mysql_release.cmake
        debian/dist/Debian/control
        debian/dist/Debian/mariadb-server-10.0.files
        debian/dist/Ubuntu/control
        debian/dist/Ubuntu/mariadb-server-10.0.files
      pending merges:
        Alexander Barkov 2013-04-20 Adding mariadb-connect-engine-10.0 deb packa...
          Alexander Barkov 2013-04-19 Removing the connect engine from mariadb...
      63fb0522
    • Alexander Barkov's avatar
      Adding mariadb-connect-engine-10.0 deb package for Debian and Ubuntu · 55e99a6b
      Alexander Barkov authored
      added:
        debian/mariadb-connect-engine-10.0.files
      modified:
        debian/dist/Debian/control
        debian/dist/Ubuntu/control
      55e99a6b
    • Alexander Barkov's avatar
      Fixing a few problems found by Build Bot after merging the CONNECT engine. · a6a4fa1d
      Alexander Barkov authored
      
      modified:
        @ mysql-test/r/mysqld--help.result
        @ mysql-test/t/mysqld--help.test
        Supressing information about "--connect" in "mysqld --help" output,
        as it depends on the build parameters.
        As a side effect information about --connect-timeout is now also suppressed :(
      
        @ storage/connect/CMakeLists.txt
        Removing gcc warning switches that do not exists in some older gcc versions.
      
        @ storage/connect/ha_connect.cc
        Adding a quick fix: cast from "const char *" to "char *".
        Olivier should do a better fix eventually.
      a6a4fa1d
    • Igor Babaev's avatar
      Merge. · 7efad633
      Igor Babaev authored
      Fixed a wrong result from mysqld--help.test.
      7efad633
    • Igor Babaev's avatar
      Fixed bug mdev-4406. · 09a1f410
      Igor Babaev authored
      This bug in the code of get_column_range_cardinality() could lead to
      wrong estimates of number of records in ranges for non-nullable columns.  
      09a1f410
  13. 19 Apr, 2013 4 commits