- 24 Jan, 2019 1 commit
-
-
Marko Mäkelä authored
When innobase_allocate_row_for_vcol() returns true (for failure), it may already have invoked mem_heap_create(). However, some callers would fail to invoke mem_heap_free().
-
- 23 Jan, 2019 14 commits
-
-
Marko Mäkelä authored
I missed this in commit 9a7281a7
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Aditya A authored
PROBLEM ------- 1. We are inserting a base column entry which causes an invalid value by the function provided to generate virtual column,but we go ahead and insert this due to ignore keyword. 2. We then delete this record, making this record delete marked in innodb. If we try to insert another record with the same pk as the deleted record and if the rec is not purged ,then we try to undelete mark this record and try to build a update vector with previous and updated value and while calculating the value of virtual column we get error from server that we cannot calculate this from base column. Innodb assumes that innobase_get_computed_value() Should always return a valid value for the base column present in the row. The failure of this call was not handled ,so we were crashing. FIX
-
Marko Mäkelä authored
Thanks to commit 2614a0ab before MDEV-5800, no version of MariaDB is affected by this bug that was fixed in MySQL 5.7.25.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
Rename it because it caused parser warning whenever --backup was used.
-
Marko Mäkelä authored
dict_sys_get_size(): Replace the time-consuming loop with a crude estimate that can be computed without holding any mutex. Even before dict_sys->size was removed in MDEV-13325, not all memory allocations by the InnoDB data dictionary cache were being accounted for. One example is foreign key constraints. Another example is virtual column metadata, starting with 10.2.
-
Sergei Golubchik authored
on startup innodb is checking whether files "ib_logfileN" (for N from 1 to 100) exist, and whether they're readable. A non-existent file aborted the scan. A directory instead of a file made InnoDB to fail. Now it treats "directory exists" as "file doesn't exist".
-
Marko Mäkelä authored
When InnoDB is invoking posix_fallocate() to extend data files, it was missing a call to fsync() to update the file system metadata. If file system recovery is needed, the file size could be incorrect. When the setting innodb_flush_method=O_DIRECT_NO_FSYNC that was introduced in MariaDB 10.0.11 (and MySQL 5.6) is enabled, InnoDB would wrongly skip fsync() after extending files. Furthermore, the merge commit d8b45b0c inadvertently removed XtraDB error checking for posix_fallocate() which this fix is restoring. fil_flush(): Add the parameter bool metadata=false to request that fil_buffering_disabled() be ignored. fil_extend_space_to_desired_size(): Invoke fil_flush() with the extra parameter. After successful posix_fallocate(), invoke os_file_flush(). Note: The bookkeeping for fil_flush() would not be updated the posix_fallocate() code path, so the "redundant" fil_flush() should be a no-op.
-
- 22 Jan, 2019 1 commit
-
-
Sergey Vojtovich authored
thd_destructor_proxy() may miss abort signal if innobase_end() is running concurrently, which causes server hang in pthread_join() on shutdown. The problem was that aborting wasn't protected by mutex: proxy thr: while (!myvar->abort) end thr: running->abort = 1; end thr: mysql_cond_broadcast(...); proxy thr: mysql_cond_wait(...); // nobody to awake it end thr: pthread_join(...); // waits for proxy thr Also made main.mysqld_option_err reentrant.
-
- 21 Jan, 2019 3 commits
-
-
Sergei Golubchik authored
increase to 1M
-
Jan Lindström authored
MDEV-17973: Don't overwrite xtrabackup-v2/mariabackup SST logs by def…
-
Geoff Montee authored
-
- 18 Jan, 2019 3 commits
-
-
Varun Gupta authored
In the function QUICK_RANGE_SELECT::init_ror_merged_scan we create a seperate handler if the handler in head->file cannot be reused. The flag free_file tells us if we have a seperate handler or not. There are cases where you might create a handler and then there might be a failure(running ALTER) and then we have to revert the handler back to the original one. The code does that but it does not reset the flag 'free_file' in this case. Also backported f2c41807.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
row_drop_table_for_mysql(): Fix a regression introduced in MDEV-16515. Similar to the follow-up fixes MDEV-16647 and MDEV-17470, we must make the internal tables of FULLTEXT INDEX immune to kills, to avoid noise and resource leakage on DROP TABLE or ALTER TABLE. (Orphan internal tables would be dropped at the next InnoDB startup only.)
-
- 17 Jan, 2019 6 commits
-
-
Vladislav Vaintroub authored
server shutdown. Prior to adding current thd to the global thd list, initialize thd->mysys_var->current_cond / thd->mysys_var->current_mutex. Otherwise thd_destructor_proxy can miss the abort condition, which is set by the shutdown thread.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Thirunarayanan Balathandayuthapani authored
Problem: ======== MLOG_FILE_WRITE_CRYPT_DATA redo log fails to apply type for the crypt_data present in the space. While processing the double-write buffer pages, page fails to decrypt. It leads to warning message. Fix: ==== Set the type while parsing MLOG_FILE_WRITE_CRYPT_DATA redo log. If type and length is of invalid type then mark it as corrupted.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
- 16 Jan, 2019 6 commits
-
-
Daniel Black authored
Corrects 94d722b6
-
Thirunarayanan Balathandayuthapani authored
- There is no need to wait for crypt thread to stop accessing space while dropping the garbage encrypted tablespace during recover.
-
Oleksandr Byelkin authored
Allow table definition cache be bigger than open table cache (due to problem with VIEWs and prepared statements).
-
Anel Husakovic authored
-
Anel Husakovic authored
Implement according to standard SQL specification 2008. The check_constraints table is used for fetching metadata about the constraints defined for tables in all databases. There were some result files which failed after running mtr. These files are updated with newly create record with mtr --record.
-
Vladislav Vaintroub authored
-
- 15 Jan, 2019 6 commits
-
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
-
Eugene Kosov authored
Poisoning memory after munmap() and friends is totally incorrect as this memory could be anything. os_mem_free_large(): remove memory poisoning
-
mkaruza authored
If galera.galera_gtid_slave_sst_rsync is repeated more than once it will fail due incorrect GTID position. After stopping SLAVE node reset also GTID_SLAVE_POS variable.
-
Marko Mäkelä authored
The merge commit d833bb65 did not correctly merge the commit 03eb1593. Closes #948
-
Vladislav Vaintroub authored
This mutex can be freed when server shuts down (when thread_count goes down to 0) , but it is still used inside THD::~THD() when Statement_map is destroyed. The fix is to call Statement_map::reset() at the point where thread_count is still positive, and avoid locking LOCK_prepared_stmt_count in THD destructor.
-