- 04 Mar, 2015 3 commits
-
-
Kristian Nielsen authored
-
Kristian Nielsen authored
MDEV-6403: Temporary tables lost at STOP SLAVE in GTID mode if master has not rotated binlog since restart The binlog contains specially marked format description events to mark when a master restart happened (which could have caused temporary tables to be silently dropped). Such events also cause slave to close temporary tables. However, there was a bug that if after this, slave re-connects to the master in GTID mode, the master can send an old format description event again. If temporary tables are closed when such event is seen for the second time, it might drop temporary tables created after that event, and cause replication failure. With this patch, the restart flag of the format description event is cleared by the master when it is sent to the slave in a subsequent connection, to avoid the errorneous temp table close.
-
Kristian Nielsen authored
MDEV-6589: Incorrect relay log start position when restarting SQL thread after error in parallel replication The problem occurs in parallel replication in GTID mode, when we are using multiple replication domains. In this case, if the SQL thread stops, the slave GTID position may refer to a different point in the relay log for each domain. The bug was that when the SQL thread was stopped and restarted (but the IO thread was kept running), the SQL thread would resume applying the relay log from the point of the most advanced replication domain, silently skipping all earlier events within other domains. This caused replication corruption. This patch solves the problem by storing, when the SQL thread stops with multiple parallel replication domains active, the current GTID position. Additionally, the current position in the relay logs is moved back to a point known to be earlier than the current position of any replication domain. Then when the SQL thread restarts from the earlier position, GTIDs encountered are compared against the stored GTID position. Any GTID that was already applied before the stop is skipped to avoid duplicate apply. This patch should have no effect if multi-domain GTID parallel replication is not used. Similarly, if both SQL and IO thread are stopped and restarted, the patch has no effect, as in this case the existing relay logs are removed and re-fetched from the master at the current global @@gtid_slave_pos.
-
- 02 Mar, 2015 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 01 Mar, 2015 4 commits
-
-
Olivier Bertrand authored
modified: storage/connect/mysql-test/connect/t/json_udf.inc
-
Olivier Bertrand authored
added: storage/connect/mysql-test/connect/t/json_udf.inc modified: storage/connect/mysql-test/connect/r/json_udf.result storage/connect/mysql-test/connect/t/json_udf.test
-
Olivier Bertrand authored
modified: storage/connect/jsonudf.cpp
-
Olivier Bertrand authored
Correct memory calculation in Serialize. Correct some UDF's messages. Add and modify the json tests removed: storage/connect/mysql-test/connect/std_data/biblio.jsn storage/connect/mysql-test/connect/std_data/expense.jsn storage/connect/mysql-test/connect/std_data/mulexp3.jsn storage/connect/mysql-test/connect/std_data/mulexp4.jsn storage/connect/mysql-test/connect/std_data/mulexp5.jsn added: storage/connect/mysql-test/connect/r/json_udf.result storage/connect/mysql-test/connect/std_data/biblio.json storage/connect/mysql-test/connect/std_data/expense.json storage/connect/mysql-test/connect/std_data/mulexp3.json storage/connect/mysql-test/connect/std_data/mulexp4.json storage/connect/mysql-test/connect/std_data/mulexp5.json storage/connect/mysql-test/connect/t/json_udf.test modified: storage/connect/json.cpp storage/connect/jsonudf.cpp storage/connect/mysql-test/connect/r/json.result storage/connect/mysql-test/connect/t/json.test
-
- 28 Feb, 2015 1 commit
-
-
Olivier Bertrand authored
modified: storage/connect/odbconn.cpp storage/connect/odbconn.h - Fix get proper length of ODBC DECIMAL column in discovery modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/odbc_oracle.result - Implement random access to JSON tables modified: storage/connect/tabjson.cpp storage/connect/tabjson.h - Fix MDEV-7636 modified: storage/connect/tabutil.cpp
-
- 27 Feb, 2015 1 commit
-
-
Kristian Nielsen authored
When the server starts up, check if the master-bin.state file was lost. If it was, recover its contents by scanning the last binlog file, thus avoiding running with a corrupt binlog state.
-
- 26 Feb, 2015 1 commit
-
-
Vicențiu Ciorbaru authored
Temporary table count fix. The number of temporary tables was increased when the table is not actually created. (when do_not_open was passed as TRUE to create_tmp_table).
-
- 25 Feb, 2015 5 commits
-
-
Sergei Golubchik authored
-
Sergey Petrunya authored
Add a testcase. The bug itself was fixed by the fix for MDEV-7316.
-
Olivier Bertrand authored
modified: storage/connect/tabjson.cpp storage/connect/tabjson.h
-
Alexander Barkov authored
-
Sergei Golubchik authored
-
- 24 Feb, 2015 7 commits
-
-
Olivier Bertrand authored
modified: storage/connect/ha_connect.cc - Add new JSON UDF functions and JSON functionalities. modified: storage/connect/json.cpp storage/connect/json.h storage/connect/jsonudf.cpp storage/connect/tabjson.cpp
-
Sergei Golubchik authored
-
Sergei Golubchik authored
partially cherry-pick from mysql/5.6. No test case (mysql/5.6 test case is useless, the correct test case uses too much memory) commit e061985813db54948f99892d89f7e076242473a5 Author: <Dao-Gang.Qu@sun.com> Date: Tue Jun 1 15:02:22 2010 +0800 Bug #49931 Incorrect type in read_log_event error Bug #49932 mysqlbinlog max_allowed_packet hard coded to 1GB
-
Sergei Golubchik authored
-
Kristian Nielsen authored
If somehow the COMMIT or XID event in an event group was missing, the code in parallel replication to handle this was not sufficient, leading to server deadlock.
-
Sergei Golubchik authored
-
Jan Lindström authored
InnoDB transaction lock printout.
-
- 23 Feb, 2015 3 commits
-
-
Kristian Nielsen authored
MDEV-7458: Deadlock in parallel replication can allow following transaction to start replicating too early In parallel replication, don't rollback inside ha_commit_trans() in case of error. The rollback will be done later, but the parallel replication code needs to run unmark_start_commit() before the rollback to properly control the sequencing of transactions. I did not manage to come up with a reliable automatic test case for this, but I tested it manually.
-
Kristian Nielsen authored
(Without this, it happened for me that realpath() failed returning undef for the default vardir. This in turn caused mysql-test-run.pl to delete the source mysql-test/ directory.) Backport from 10.1, it's not nice to get one's source directory nuked by a rouge mysql-test-run.
-
Jan Lindström authored
waits and total wait time.
-
- 22 Feb, 2015 7 commits
-
-
Sergei Golubchik authored
-
Olivier Bertrand authored
Handle longjmp's raised during json processing. modified: storage/connect/global.h storage/connect/ha_connect.cc storage/connect/json.cpp storage/connect/jsonudf.cpp - Fix wrong references to the suppressed g->Trace variables. modified: storage/connect/global.h storage/connect/plugutil.c storage/connect/tabjson.cpp storage/connect/tabodbc.cpp
-
Sergei Golubchik authored
-
Sergei Golubchik authored
Don't binlog mariadb setup sql statements: * use "mysql_install_db --disable-log-bin" * use "mysqld --bootstrap --disable-log-bin" * use "SET sql_log_bin=0"
-
Sergei Golubchik authored
don't return from DROP TRIGGER IF NOT EXISTS on the slave side early when the trigger couldn't be read
-
Sergei Golubchik authored
cherry-pick the upstream fix commit d4ba10184cd7bde9c31c610e664ecd0c93605c46 Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com> Date: Wed Jul 2 11:34:11 2014 +0530 Bug#17453826:ASSERTION ERROR WHEN SETTING FUTURE BINLOG FILE/POS WITH SEMISYNC Problem: ======== When DMLs are in progress on the master stopping a slave and setting ahead binlog name/pos will cause an assert on the master. ...
-
Sergei Golubchik authored
Item_func::print() prints itself as name + "(" + arguments + ")". Normally that works, but Item_func_interval internally implements its arguments as one single Item_row. Item_row prints itself as "(" + values + ")". As a result, "INTERVAL(1,2)" was being printed as "INTERVAL((1,2))". Fixed with a custom Item_func_interval::print().
-
- 20 Feb, 2015 5 commits
-
-
Nirbhay Choubey authored
Removed 'galera-sst-mode' option from mysqldump as its no longer needed.
-
Jan Lindström authored
-
Sergei Golubchik authored
only activate it on MYSQL_MAINTAINER_MODE=ERRON
-
Sergei Golubchik authored
* oqgraph is in a separate package in 10.0 * sphinx udf is in the ha_sphinx.so
-
Sergei Petrunia authored
Enable subquery materialization for non-SELECT queries with a SELECT part
-
- 19 Feb, 2015 1 commit
-
-
Sergei Golubchik authored
-