- 20 Apr, 2017 1 commit
-
-
Marko Mäkelä authored
Allow 64-bit atomic operations on 32-bit systems, only relying on HAVE_ATOMIC_BUILTINS_64, disregarding the width of the register file. Define UNIV_WORD_SIZE correctly on all systems, including Windows. In MariaDB 10.0 and 10.1, it was incorrectly defined as 4 on 64-bit Windows. Define HAVE_ATOMIC_BUILTINS_64 on Windows (64-bit atomics are available on both 32-bit and 64-bit Windows platforms; the operations were unnecessarily disabled even on 64-bit Windows). MONITOR_OS_PENDING_READS, MONITOR_OS_PENDING_WRITES: Enable by default. os_file_n_pending_preads, os_file_n_pending_pwrites, os_n_pending_reads, os_n_pending_writes: Remove. Use the monitor counters instead. os_file_count_mutex: Remove. On a system that does not support 64-bit atomics, monitor_mutex will be used instead.
-
- 10 Apr, 2017 1 commit
-
-
Kristian Nielsen authored
MDEV-11201: gtid_ignore_duplicates incorrectly ignores statements when GTID replication is not enabled When master_use_gtid=no, the IO thread loads the slave GTID state from the master during connect. This races with the SQL thread when gtid_ignore_duplicates=1. If an event is in the relay log from before the new connect and has not been applied yet, moving the slave position causes the SQL thread to think that event should be skipped due to gtid_ignore_duplicates=1. This patch simply disables gtid_ignore_duplicates when not using GTID, which seems to be what one would expect.
-
- 09 Apr, 2017 1 commit
-
-
Daniel Black authored
This is to be friendly to our OSX users where the libtool path is very different. Ref: * https://github.com/Homebrew/homebrew-core/blob/master/Formula/mariadb.rb#L44..L46
-
- 05 Apr, 2017 2 commits
-
-
Oleksandr Byelkin authored
An attempt to mark reference as dependent lead to transfering this property to original view field and through it to other references of this field which can't be dependent.
-
Marko Mäkelä authored
Also, revert part of MDEV-7685 that added an InnoDB abort when ALTER TABLE…ALGORITHM=INPLACE is reporting that it ran out of file space.
-
- 03 Apr, 2017 2 commits
-
-
Vladislav Vaintroub authored
To export symbols from the mysqld.exe, use lib.exe with /DEF, rather than pre-link step when building mysqld.exe. This helps to avoid relinking all plugins, if mysqld.exe was recompiled but the list of its exports has not changed. Also removed unnecessary DEPENDS in some ADD_CUSTOM_COMMAND (gen_lex_token, gen_lex_hash etc). They confuse VS generator which tends to recreate headers and do unnecessary recompilations.
-
Vladislav Vaintroub authored
We do not use it now, but there is still no reason to break compilation for other users.
-
- 24 Mar, 2017 2 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The test was unnecessarily depending on InnoDB purge, which can sometimes fail to proceed. Let us rewrite the test to use BEGIN;INSERT;ROLLBACK to cause the immediate removal of the desired records.
-
- 21 Mar, 2017 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
shouldn't have been added in the first place, MariaDB Server is GPLv2
-
- 18 Mar, 2017 1 commit
-
-
Marko Mäkelä authored
The test is not expected to crash. With a non-debug server, Valgrind completes in reasonable time without any failure. Also, it does not make sense to store and restore parameters when the parameters are already being restored by a server restart.
-
- 17 Mar, 2017 1 commit
-
-
Vladislav Vaintroub authored
-
- 16 Mar, 2017 3 commits
-
-
Sergei Golubchik authored
-
Monty authored
- Before this patch during startup all slave threads was started without any check that they had started properly. - If one did a START SLAVE, STOP SLAVE or CHANGE MASTER as first command to the server there was a chance that server could access structures that where not properly initialized which could lead to crashes in Log_event::read_log_event - Fixed by waiting for slave threads to start up properly also during server startup, like we do with START SLAVE.
-
Monty authored
The following is an updated commit message for the following commit that was pushed before I had a chance to update the commit message: c5e25c8b Fixed dead locks when doing stop slave while slave was starting. - Added a separate lock for protecting start/stop/reset of a specific slave. This solves some possible dead locks when one calls stop slave while the slave is starting as the old run_locks was over used for other things. - Set hash->records to 0 before calling free of all hash elements. This was set to stop concurrent threads to loop over hash elements and access members that was already freed. This was a problem especially in start_all_slaves/stop_all_slaves as the mutex protecting the hash was temporarily released while a slave was started/stopped. - Because of change to hash->records during hash_reset(), any_slave_sql_running() will return 1 during shutdown as one can't loop over master_info_index->master_info_hash while hash_reset() of it is in progress. This also fixes a potential old bug in any_slave_sql_running() where during shutdown and ~Master_info_index(), my_hash_free() we could potentially try to access elements that was already freed.
-
- 15 Mar, 2017 1 commit
-
-
Sergei Golubchik authored
restore mysql_file_delete_with_symlink() but let it use new my_handler_delete_with_symlink() mysys helper.
-
- 14 Mar, 2017 1 commit
-
-
Varun Gupta authored
failed with SELECT SQ, TEXT field The functon find_all_keys does call Item_subselect::walk, which calls walk() for the subquery The issue is that when a field is represented by Item_outer_ref(Item_direct_ref(Item_copy_string( ...))). Item_copy_string does have a pointer to an Item_field in Item_copy::item but does not implement Item::walk method, so we are not able to set the bitmap for that field. This is the reason why the assert fails. Fixed by adding the walk method to Item_copy class.
-
- 13 Mar, 2017 2 commits
-
-
Vladislav Vaintroub authored
-
Vicențiu Ciorbaru authored
Fix symlink-aria && symlink-myisam to account for this possibility.
-
- 12 Mar, 2017 1 commit
-
-
Sergei Golubchik authored
force SELinux policies to be built in mysql_release RPM packages
-
- 10 Mar, 2017 1 commit
-
-
Marko Mäkelä authored
In the 10.1 InnoDB Plugin, a call os_event_free(buf_flush_event) was misplaced. The event could be signalled by rollback of resurrected transactions while shutdown was in progress. This bug was caught by cmake -DWITH_ASAN testing. This call was only present in the 10.1 InnoDB Plugin, not in other versions, or in XtraDB. That said, the bug affects all InnoDB versions. Shutdown assumes the cessation of any page-dirtying activity, including the activity of the background rollback thread. InnoDB only waited for the background rollback to finish as part of a slow shutdown (innodb_fast_shutdown=0). The default is a clean shutdown (innodb_fast_shutdown=1). In a scenario where InnoDB is killed, restarted, and shut down soon enough, the data files could become corrupted. logs_empty_and_mark_files_at_shutdown(): Wait for the rollback to finish, except if innodb_fast_shutdown=2 (crash-like shutdown) was requested. trx_rollback_or_clean_recovered(): Before choosing the next recovered transaction to roll back, terminate early if non-slow shutdown was initiated. Roll back everything on slow shutdown (innodb_fast_shutdown=0). srv_innodb_monitor_mutex: Declare as static, because the mutex is only used within one module. After each call to os_event_free(), ensure that the freed event is not reachable via global variables, by setting the relevant variables to NULL.
-
- 09 Mar, 2017 5 commits
-
-
Vicențiu Ciorbaru authored
-
Sergei Petrunia authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 08 Mar, 2017 11 commits
-
-
Daniel Bartholomew authored
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
MDEV-12207 Include windows compatibility manifest into executable to make GetVersionEx work correctly
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
mysql_client uses some inline assembly code to switch thread stacks. This works, however tools that perform backtrace get confused to fix this we write a specific constant to signify bottom of stack. This constant is needed when compiling with CLang as well.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Also, implement MDEV-11027 a little differently from 5.5: recv_sys_t::report(ib_time_t): Determine whether progress should be reported. recv_apply_hashed_log_recs(): Rename the parameter to last_batch.
-
Marko Mäkelä authored
This is essentially a backport of the 10.0 commit 203f4d41 that fixes a bug and silences a GCC 6.3.0 warning about a left shift of a signed integer. Missing parenthesis in a macro definition caused wrong operation in the Query_cache::send_result_to_client() statement thd->query_plan_flags= (thd->query_plan_flags & ~QPLAN_QC_NO) | QPLAN_QC; This would expand to thd->query_plan_flags= (thd->query_plan_flags & ~1) << 6 | 1 << 5; which would shift the flags by 6 and clear an unrelated flag, instead of clearing the flag (1 << 6).
-
Marko Mäkelä authored
Provide more useful progress reporting of crash recovery. recv_sys_t::progress_time: The time of the last report. recv_scan_print_counter: Remove. log_group_read_log_seg(): After after each I/O request, report progress if needed. recv_apply_hashed_log_recs(): At the start of each batch, if there are pages to be recovered, issue a message.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The C++ standard does not allow references to be NULL. Assign the return value of THD::alloc() to a pointer, not to a reference.
-
- 06 Mar, 2017 2 commits
-
-
Vicențiu Ciorbaru authored
-
Alexey Botchkov authored
Server audit plugin version updated.
-