- 28 Nov, 2017 6 commits
-
-
Andrei Elkin authored
MDEV-13073. This patch is a followup of the previous one to convert the trailing underscore identifier to mariadb standard. For identifier representing class private members the underscore is replaced with a `m_` prefix. Otherwise `_` is just removed.
-
Andrei Elkin authored
MDEV-13073. This part converts the Ali patch`s identifiers to the MariaDB standard. Also some renaming is done as well as white spaces removal.
-
Andrei Elkin authored
and its custom trace faciltiy with standard DBUG_ based equivalents.
-
Andrei Elkin authored
one) and affected result files. Specifically to rpl_semi_sync_after_sync*, the changed results reflect a fact that thanks to fixes in the dump thread functionality there's no longer zombie thread to kill neither such thread represent a semisync client (so the counter drops).
-
Andrei Elkin authored
is defined statically. Consequently the observer interfaces are removed as well.
-
Andrei Elkin authored
and specifically the ack receiving functionality. Semisync is turned to be static instead of plugin so its functions are invoked at the same points as RUN_HOOKS. The RUN_HOOKS and the observer interface remain to be removed by later patch. Todo: React on killed status by repl_semisync_master.wait_after_sync(). Currently Repl_semi_sync_master::commit_trx does not check the killed status. There were few bugfixes found that are present in mysql and its unclear whether/how they are covered. Those include: Bug#15985893: GTID SKIPPED EVENTS ON MASTER CAUSE SEMI SYNC TIME-OUTS Bug#17932935 CALLING IS_SEMI_SYNC_SLAVE() IN EACH FUNCTION CALL HAS BAD PERFORMANCE Bug#20574628: SEMI-SYNC REPLICATION PERFORMANCE DEGRADES WITH A HIGH NUMBER OF THREADS
-
- 24 Nov, 2017 4 commits
-
-
Monty authored
RUN_HOOK() is only called if semisync is enabled As the server can't disable the hooks if something is in progress, I added a new variable, run_hooks_enabled, that is set the first time semi sync is used. This means that RUN_HOOK will have no overhead, unless semi sync master or slave has been enabled once. Some of the changes was just to get rid of warnings for embedded server
-
Monty authored
Part of MDEV-13073 AliSQL Optimize performance of semisync The idea it to use a dedicated lock detecting if there is new data in the master's binary log instead of the overused LOCK_log. Changes: - Use dedicated COND variables for the relay and binary log signaling. This was needed as we where the old 'update_cond' variable was used with different mutex's, which could cause deadlocks. - Relay log uses now COND_relay_log_updated and LOCK_log - Binary log uses now COND_bin_log_updated and LOCK_binlog_end_pos - Renamed signal_cnt to relay_signal_cnt (as we now have two signals) - Added some missing error handling in MYSQL_BIN_LOG::new_file_impl() - Reformatted some comments with old style - Renamed m_key_LOCK_binlog_end_pos to key_LOCK_binlog_end_pos - Changed 'signal_update()' to update_binlog_end_pos() which works for both relay and binary log
-
Monty authored
-
Monty authored
Part of MDEV-13073 AliSQL Optimize performance of semisync Did the following renames to match other similar variables key_ss_mutex_LOCK_binlog_ > key_LOCK_bing key_ss_cond_COND_binlog_send_ -> key_COND_binlog_send COND_binlog_send_ -> COND_binlog_send LOCK_binlog_ -> LOCK_binlog debian/mariadb-server-10.2.install does not install semisync libs.
-
- 06 Nov, 2017 2 commits
-
-
Igor Babaev authored
It's better to prohibit pushdown of conditions that involve regexp_substr() and regexp_replace() into materialized derived tables / views until proper implementations of the get_copy() virtual method are provided for those functions.
-
Igor Babaev authored
The support of embedded CTEs was not correct in the cases when embedded CTEs were used multiple times. The problems occurred with both non-recursive (bug mdev-13780) and recursive (bug mdev-14184) embedded CTEs.
-
- 04 Nov, 2017 1 commit
-
-
Sergei Petrunia authored
-
- 02 Nov, 2017 5 commits
-
-
Igor Babaev authored
in joined table + GROUP BY + GROUP_CONCAT + HAVING + ORDER BY [by field from HAVING] + 1 row expected The fix is actually a port of the fix for bug #17055185 from mysql code line (see commit f289aeeef0743508ff87211084453b3b88a6d017 by Mithun C Y into mysql-5.6). The test case for the bug #17055185 was also ported.
-
Vladislav Vaintroub authored
-
Sergei Petrunia authored
- FB/MySQL 5.6' MyRocks has START TRANSACTION WITH CONSISTENT ROCKSDB SNAPSHOT, which returns binlog position. - MariaDB has a cross-engine START TRANSACTION WITH CONSISTENT SNAPSHOT. It can be used for the same purpose. Binlog position can be obtained from Binlog_snapshot_file/position status vars.
-
Marko Mäkelä authored
os_file_set_size(): If posix_fallocate() returns EINVAL, fall back to writing zero bytes to the file. Also, remove some error log output, and make it possible for a server shutdown to interrupt the fall-back code. MariaDB 10.2 used to handle the EINVAL return value from posix_fallocate() before commit b731a5bc which refactored os_file_set_size() to try posix_fallocate(). Why is the EINVAL returned? The GNU posix_fallocate() function would first try the fallocate() system call, which would return -EOPNOTSUPP for many file systems (notably, not ext4). Then, it would fall back to extending the file one block at a time by invoking pwrite(fd, "", 1, offset) where offset is 1 less than a multiple of the file block size. This would fail with EINVAL if the file is in O_DIRECT mode, because O_DIRECT requires aligned operation.
-
Monty authored
The failing test was main.gis-json
-
- 01 Nov, 2017 2 commits
-
-
Monty authored
- Expand paths also for jemalloc - Test also if tcmalloc or jemalloc is in /usr/lib64 - Take into account that .so has a version - Remove automatic adding of flavors ( _minial, _debug). Better to have user specify these directly - Changed documentation link to MariaDB - Don't give extra error if mysqld_safe_helper doesn't exist
-
Marko Mäkelä authored
-
- 31 Oct, 2017 7 commits
-
-
Daniel Bartholomew authored
-
Monty authored
Also don't abort if global_status_var.global_memory_used != 0 on not normal exit as then it's likely that not all memory is released.
-
Monty authored
-
Marko Mäkelä authored
MDEV-13568: Purge is not blocked by LOCK TABLES. Should it? MDEV-13893/MDEV-12699: Crash recovery of corrupted or non-decryptable pages is broken.
-
Daniel Black authored
Signed-off-by:
Daniel Black <daniel@linux.vnet.ibm.com>
-
Marko Mäkelä authored
-
Marko Mäkelä authored
When MariaDB 10.1.0 introduced table options for encryption and compression, it unnecessarily changed ha_innobase::check_if_supported_inplace_alter() so that ALGORITHM=COPY is forced when these parameters differ. A better solution is to move the check to innobase_need_rebuild(). In that way, the ALGORITHM=INPLACE interface (yes, the syntax is very misleading) can be used for rebuilding the table much more efficiently, with merge sort, with no undo logging, and allowing concurrent DML operations.
-
- 30 Oct, 2017 7 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
If InnoDB or XtraDB recovered committed transactions at server startup, but the processing of recovered transactions was prevented by innodb_read_only or by innodb_force_recovery, an assertion would fail at shutdown. This bug was originally reproduced when Mariabackup executed InnoDB shutdown after preparing (applying redo log into) a backup. trx_free_prepared(): Allow TRX_STATE_COMMITTED_IN_MEMORY. trx_undo_free_prepared(): Allow any undo log state. For transactions that were resurrected in TRX_STATE_COMMITTED_IN_MEMORY the undo log state would have been reset by trx_undo_set_state_at_finish().
-
Daniel Bartholomew authored
-
Alexey Botchkov authored
-
Marko Mäkelä authored
-
Elena Stepanova authored
-
Elena Stepanova authored
-
- 29 Oct, 2017 6 commits
-
-
Sergei Petrunia authored
Forgot to put the updated rocksdb.result in
-
Sergei Petrunia authored
Downscale rocksdb.add_index_inplace_sstfilewriter to be 10x smaller
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Fix a race condition in the testcase.
-
Sergei Petrunia authored
-