- 12 Jun, 2019 5 commits
-
-
Marko Mäkelä authored
GCC 9.1.1 noticed that sd_notifyf() was always being invoked with str=NULL argument for "%s". This code was added in commit 2e814d47 but not mentioned in the commit comment. The STATUS messages for systemd matter during startup and shutdown, and should not be emitted during normal operation. ib_senderrf(): Remove the potentially harmful sd_notifyf() calls.
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB: Redo log crypto: failed to decrypt log block" - Post-push fix to change the copyright of both xtradb and innodb file.
-
Thirunarayanan Balathandayuthapani authored
MDEV-16866 InnoDB fails to start upon crash recovery with "[ERROR] InnoDB: Redo log crypto: failed to decrypt log block" - If InnoDB encounters garbage or incomplete written log block during recovery then don't throw the error. Treat it as end of the log. - This kind of incomplete or empty block can be result of killing InnoDB when writing the redo log.
-
Jan Lindström authored
Remove unneeded select to provider name. Provider can have different names and can be located on different directory on different environments.
-
- 10 Jun, 2019 1 commit
-
-
Marko Mäkelä authored
Some I/O functions and macros that are declared in os0file.h used to return a Boolean status code (nonzero on success). In MySQL 5.7, they were changed to return dberr_t instead. Alas, in MariaDB Server 10.2, some uses of functions were not adjusted to the changed return value. Until MDEV-19231, the valid values of dberr_t were always nonzero. This means that some code that was incorrectly checking for a zero return value from the functions would never detect a failure. After MDEV-19231, some tests for ALTER ONLINE TABLE would fail with cmake -DPLUGIN_PERFSCHEMA=NO. It turned out that the wrappers pfs_os_file_read_no_error_handling_int_fd_func() and pfs_os_file_write_int_fd_func() were wrongly returning bool instead of dberr_t. Also the callers of these functions were wrongly expecting bool (nonzero on success) instead of dberr_t. This mistake had been made when the addition of these functions was merged from MySQL 5.6.36 and 5.7.18 into MariaDB Server 10.2.7. This fix also reverts commit 40becbc3 which attempted to work around the problem.
-
- 07 Jun, 2019 2 commits
-
-
Sergei Petrunia authored
Make it visible
-
Sergey Vojtovich authored
Those two may work incorrectly together. Namely, ASAN may produce false positives or false negatives. For details see https://github.com/google/sanitizers/wiki/AddressSanitizer#faq Make SECURITY_HARDENED disabled by default if WITH_ASAN=ON Based on contribution by Eugene Kosov.
-
- 06 Jun, 2019 5 commits
-
-
Sergei Golubchik authored
option values now have to be edited in-place, instead of replacing an option with another one that has the same name but a new value.
-
Monty authored
-
Monty authored
- --disable-plugin-load or --skip-plugin-load will now reset plugin load list. Needed for future changes to mtr tests
-
Monty authored
- multiple usage of plugin-load-add and optimizer-switch are now included in generated config files
-
Thirunarayanan Balathandayuthapani authored
Problem: ======= fil_iterate() writes imported tablespace page0 as it is to discarded tablespace. Space id wasn't even changed. While opening the tablespace, tablespace fails with space id mismatch error. Fix: ==== fil_iterate() copies the page0 with discarded space id to imported tablespace.
-
- 05 Jun, 2019 3 commits
-
-
Vladislav Vaintroub authored
messages Force LANG=C for MY_CHECK_{C,CXX}_COMPILER_FLAG
-
Zicheng Huang authored
fix MDEV-18750: failed to flashback large-size binlog file fix mysqlbinlog flashback failure caused by reading io_cache without MY_FULL_IO flag fix MDEV-18750: mysqlbinlog flashback failure on large binlog
-
Thirunarayanan Balathandayuthapani authored
- Use corrupt page id instead of whole block after releasing it from LRU list.
-
- 04 Jun, 2019 1 commit
-
-
Varun Gupta authored
MDEV-18015: Assertion `global_status_var.global_memory_used == 0' failed when using UDF , window functions and views Adding destructor for Group_bound_tracker to free Cached_item_str. The Cached_item for window functions are allocated on THD:mem_root but the Cached_item_str has value of type string which is allocated on the heap, so we need to call free() for it
-
- 03 Jun, 2019 9 commits
-
-
Sergei Golubchik authored
-
Monty authored
os_file_write_func() and os_file_read_no_error_handling_func() returned different result values depending on if UNIV_PFS_IO was defined or not. Other things: - Added some comments about return values for some functions
-
Monty authored
-
Monty authored
Wrong compiler warning from GCC: ‘snprintf’ output 2 or more bytes (assuming 4001) into a destination of size 4000
-
Monty authored
- --default-character-set can now be disabled in mysqldump - --skip-resolve can be be disabled in mysqld - mysql_client_test now resets global variables it changes - mtr couldn't handle [mysqldump] in config files (wrong regexp used)
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Alexander Barkov authored
-
Vladislav Vaintroub authored
Do not use TARGET_LINK_LIBRARIES(mysys mysys_ssl), this means that mysys_ssl is linked to practically everything.
-
- 31 May, 2019 3 commits
-
-
Alexander Barkov authored
-
Vlad Lesin authored
The issue is that two MARIA_HA instances shares the same MARIA_STATUS_INFO object during UNION execution, so the second MARIA_HA instance state pointer MARIA_HA::state points to the MARIA_HA::state_save of the first MARIA instance. This happens in thr_multi_lock(...) { ... for (first_lock=data, pos= data+1 ; pos < end ; pos++) { ... if (pos[0]->lock == pos[-1]->lock && pos[0]->lock->copy_status) (pos[0]->lock->copy_status)((*pos)->status_param, (*first_lock)->status_param); ... } ... } Usually the state is restored from ha_maria::external_lock(...): \#0 _ma_update_status (param=0x6290000e6270) at ./storage/maria/ma_state.c:309 \#1 0x00005555577ccb15 in _ma_update_status_with_lock (info=0x6290000e6270) at ./storage/maria/ma_state.c:361 \#2 0x00005555577c7dcc in maria_lock_database (info=0x6290000e6270, lock_type=2) at ./storage/maria/ma_locking.c:66 \#3 0x0000555557802ccd in ha_maria::external_lock (this=0x61d0001b1308, thd=0x62a000048270, lock_type=2) at ./storage/maria/ha_maria.cc:2727 But _ma_update_status() does not take into account the case when MARIA_HA::status points to the MARIA_HA::state_save of the other MARIA_HA instance. The fix is to restore MARIA_HA::state in ha_maria::external_lock() after maria_lock_database() call for transactional tables.
-
Marko Mäkelä authored
-
- 30 May, 2019 4 commits
-
-
Sergey Vojtovich authored
Reverted incorrect change introduced by 548d03d7. As result is char**, third qsort() parameter must be sizeof(char*). Not sizeof(result[0] + 2), which is same as sizeof(result[0]). Not even sizeof(result[0]) + 2, which would cause invalid memory access. Proper sorting is responsibility of logfilenamecompare() callback.
-
Sergey Vojtovich authored
Removed #! sequence from non-executable script.
-
Faustin Lammler authored
-
Sujatha authored
Problem: ======== Following typo in error log: 2019-03-13 15:58:10 0 [Note] Reading of all Master_info entries succeded Should be 'succeeded' Fix: === Fixed the typo with the right word 'succeeded'.
-
- 29 May, 2019 6 commits
-
-
Sujatha authored
Post push fix. Simplified the earlier fixes.
-
Marko Mäkelä authored
-
Sujatha authored
Problem: ======= rpl_blackhole.test fails when executed with following options mysqld=--binlog_annotate_row_events=1, mysqld=--replicate_annotate_row_events=1 Test output: ------------ worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019 rpl.rpl_blackhole_bug 'mix' [ pass ] 791 rpl.rpl_blackhole_bug 'row' [ fail ] Replicate_Wild_Ignore_Table Last_Errno 1032 Last_Error Could not execute Update_rows_v1 event on table test.t1; Can't find record in 't1', Error_code: 1032; handler error HA_ERR_END_OF_FILE; the event's master log master-bin.000001, end_log_pos 1510 Analysis: ========= Enabling "replicate_annotate_row_events" on slave, Tells the slave to write annotate rows events received from the master to its own binary log. The received annotate events are applied after the Gtid event as shown below. thd->query() will be set to the actual query received from the master, through annotate event. Annotate_rows event should not be deleted after the event is applied as the thd->query will be used to generate new Annotate_rows event during applying the subsequent Rows events. After the last Rows event has been applied, the saved Annotate_rows event (if any) will be deleted. In balckhole engine all the DML operations are noops as they donot store any data. They simply return success without doing any operation. But the existing strictly expects thd->query() to be 'NULL' to identify that row based replication is in use. This assumption will fail when row annotations are enabled as the query is not 'NULL'. Hence various row based operations like 'update', 'delete', 'index lookup' will fail when row annotations are enabled. Fix: === Extend the row based replication check to include row annotations as well. i.e Either the thd->query() is NULL or thd->query() points to query and row annotations are in use.
-
Marko Mäkelä authored
row_search_mvcc(): Duplicate the logic of btr_pcur_move_to_next() so that an infinite loop can be avoided when advancing to the next page fails due to a corrupted page.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Also, --skip-innodb-buffer-pool-load-at-startup to avoid a crash in buf_load() due to loading pages that we are corrupting intentionally.
-
- 28 May, 2019 1 commit
-
-
Marko Mäkelä authored
At higher levels of innodb_force_recovery, the InnoDB transaction subsystem will not be set up at all. At slightly lower levels, recovered transactions will not be rolled back, and DDL operations could hang due to locks being held at all. Let us consistently refuse all writes if the predicate high_level_read_only holds. We failed to refuse DROP TABLE and DROP DATABASE. (Refusing DROP TABLE is a partial backport from MDEV-19570 in the 10.5 branch.)
-