- 02 Sep, 2015 1 commit
-
-
Kristian Nielsen authored
MDEV-8725: Assertion `!(thd->rgi_slave && thd-> rgi_slave->did_mark_start_commit)' failed in ha_rollback_trans The assertion is there to catch cases where we rollback while mark_start_commit() is active. This can allow following event groups to be replicated too early, causing conflicts. But in this case, we have an _explicit_ ROLLBACK event in the binlog, which should not assert. We fix this by delaying the mark_start_commit() in the explicit ROLLBACK case. It seems safest to delay this in ROLLBACK case anyway, and there should be no reason to try to optimise this corner case.
-
- 04 Aug, 2015 2 commits
-
-
Kristian Nielsen authored
-
Kristian Nielsen authored
This bug is essentially another variant of MDEV-7458. If a transaction conflict caused a deadlock kill of T2 in record_gtid() during commit, the code would do a rollback _before_ running rgi->unmark_start_commit(). This creates a race where following transactions could start too early (before T2 has completed its transaction retry). This in turn could lead to replication failure, if there was a conflict that caused eg. duplicate key error or similar. The fix is to remove these rollbacks (in Query_log_event::do_apply_event() and Xid_log_event::do_apply_event(). They seem out-of-place; code in log_event.cc generally does not roll back on error, this is handled higher up. In addition, because of the extreme difficulty of reproducing bugs like MDEV-7458 and MDEV-8302, this patch adds some extra precations to try to detect (in debug builds) or prevent (in release builds) similar bugs. ha_rollback_trans() will now call unmark_start_commit() if needed (and assert in debug build when a caller does rollback without unmark first). We also add an extra check for thd->killed() so that we avoid doing mark_start_commit() if we already have a pending deadlock kill. And we add a missing unmark_start_commit() call in the error case, found by the above assertion.
-
- 17 Jun, 2015 2 commits
-
-
Sergei Golubchik authored
fix the test case for ps-protocol
-
Sergei Golubchik authored
MDEV-5977 MariaDB 10.0 is not installable on Trusty when "trusty-updates universe" is in sources.list fix upgrade[2] tests on trusty and utopic: add missing conflicts/replaces, client-10.0 should conflict/replace client-5.5. reformat other conflicts/replaces lines to make them easier to read and merge
-
- 16 Jun, 2015 18 commits
-
-
Sergei Golubchik authored
in ha_delete_table() * only convert ENOENT and HA_ERR_NO_SUCH_TABLE to warnings * only return real error codes (that is, not ENOENT and not HA_ERR_NO_SUCH_TABLE) * intercept HA_ERR_ROW_IS_REFERENCED to generate backward compatible ER_ROW_IS_REFERENCED in mysql_rm_table_no_locks() * no special code to handle HA_ERR_ROW_IS_REFERENCED * no special code to handle ENOENT and HA_ERR_NO_SUCH_TABLE * return multi-table error ER_BAD_TABLE_ERROR <table list> only when there were many errors, not when there were many tables to drop (but only one table generated an error)
-
Sergei Golubchik authored
in cmake tests let's treat clang like gcc (same options, same builtins) in many cases. * don't check the compiler when * testing for -fvisibility=hidden support * testing for HAVE_ABI_CXA_DEMANGLE * testing for HAVE_GCC_ATOMIC_BUILTINS * when removing options with string(replace) * when running ${CC} --version (ignore the error instead) * run ABI checks for clang * use "canonical" gcc flags for clang * fix groonga too Also: * add cmake detection for gcc __atomic_* builtins. they might be supported (__ATOMIC_SEQ_CST is defined), but not for all operand sizes. In particular, 64-bit atomic load is problematic on i386 * cache check results for Windows * remove the test for HAVE_CXXABI_H (HAVE_ABI_CXA_DEMANGLE is suffifient)
-
Sergei Golubchik authored
-
Sergei Golubchik authored
* new mysqldump option * add more engines to the "external data engines" list * redo the check to be able to print the list of engines in --help
-
Sergei Golubchik authored
-
Sergei Golubchik authored
in innobase: compilation error on windows other changes: perfschema merge followup
-
Jan Lindström authored
-
Jan Lindström authored
-
Jan Lindström authored
only columns really stored to database.
-
Jan Lindström authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergey Vojtovich authored
When RENAME TABLE is executed, it apparently does not check whether the engine is available (unlike ALTER TABLE .. RENAME, which does). It means that if the engine in question was not loaded on some reason, the table might become unusable, since the engine won't know about the change. With this patch RENAME TABLE fails if storage engine is not available.
-
- 15 Jun, 2015 11 commits
-
-
Sergei Golubchik authored
Put client plugins into -common rpm, not -shared. Because they're needed for * all clients that link with shared libmysqlclient (-shared) * our clients from -client rpm, they're statically linked (-client) * the server that acts as a replication slave (-server)
-
Alexey Botchkov authored
MDEV-7871 Tests fail massively on "Assertion `status_var.memory_used == 0'" when run with --ps --embedded. As the MF_THREAD_SPECIFIC was introduced to the alloc_root's and the prealloc added to the statement::mem_root and statement::result.alloc, we have to adjust the embedded server to it. The preallocation was removed for the embedded server as it makes no sence for it. The msyqltest should free the statement inside the proper thead to make the memory statistics happy.
-
Sergei Golubchik authored
MDEV-8131 MariaDB does not build on hurd-i386: plugin/auth_dialog/dialog.c:172:20: error: 'RTLD_DEFAULT' undeclared define _GNU_SORUCE before including dlfcn.h
-
Sergei Golubchik authored
-
Sergei Golubchik authored
when --bind-address is not specificed explicitly (or set to '*') MariaDB tries all wildcard addresses. Print a warning (not an error) if a socket cannot be created for some of them. Still print an error if a socket cannot be created for an address that a user has specified expicitly with --bind-address.
-
Sergei Golubchik authored
disable IPv6 globally in mysql-test, only use it in dedicated IPv6 tests (where it is enabled per-test)
-
Alexander Barkov authored
in the previous commit for MDEV-8205.
-
Alexander Barkov authored
-
Kristian Nielsen authored
-
Kristian Nielsen authored
MDEV-8316: debugger aborting because missing DBUG_RETURN or DBUG_VOID_RETURN macro in function "any_slave_sql_running" Fix a handful of "return" that should be DBUG_RETURN in sql/rpl_mi.cc.
-
Kristian Nielsen authored
Follow-up patch to temporarily avoid a sporadic failure in the test rpl.rpl_000011 due to MDEV-8301. There is a window during thread exit where the global status is counted incorrectly - the contribution for the exiting thread is counted twice. The patch for MDEV-8294 made this window visible to the test case rpl.rpl_000011, causing it to sporadically fail. Temporarily silence this with a wait for the expected value; can be removed once MDEV-8294 is fixed.
-
- 14 Jun, 2015 4 commits
-
-
Alexey Botchkov authored
MDEV-8212 alter table - failing to ADD PRIMARY KEY IF NOT EXISTS when existing index of same as column name. The default name for the primary key is rather 'PRIMARY' instead of the indexed column name.
-
Jan Lindström authored
Add progress info on InnoDB/XtraDB row0merge phase. Note that we do not know exact number of rounds merge sort needs at start thus also progress report might not be accurate.
-
Sergei Golubchik authored
#include <m_string.h> where strnlen() is used
-
Jan Lindström authored
Added test case to show that correct error message is printed when log file size is too small for big blob.
-
- 12 Jun, 2015 1 commit
-
-
Sergei Golubchik authored
-
- 11 Jun, 2015 1 commit
-
-
Alexander Barkov authored
some duplicate code.
-