- 27 Jan, 2019 2 commits
-
-
Teemu Ollakka authored
-
Teemu Ollakka authored
If the TC log did not provide list of XIDs to recover, the commit by XID was skipped during wsrep recovery if binlog emulation was on. However, with wsrep we want to commit every prepared transaction with assigned wsrep XID since the transaction has already been committed in the cluster. Added a special condition to always proceed to commit by XID in xarecover_handlerton() if binlog is off and the recovered transaction has wsrep XID.
-
- 25 Jan, 2019 2 commits
-
-
Teemu Ollakka authored
Clear wsrep XID in innobase_rollback_by_xid() for recovered wsrep transaction in order to avoid resetting XID storage when rolling back wsrep transaction during recovery. Sort wsrep XIDs read from storage engine in ascending order and erify that the range is continuous during crash recovery. If binlog is off, commit all recovered transactions for continuous seqno range. This is safe because all transactions with wsrep XID have been certified and must be committed in the cluster. On the other hand if binlog is on, respect binlog as a transaction coordinator in order to avoid missing transactions in binlog that have been committed into storage engine .
-
Teemu Ollakka authored
Backported wsrep-recover test from 10.4 to test the wsrep recovery after database shutdown or crash. Renamed the test to wsrep-recover-v25 to avoid conflicts with existing test in 10.4 and to provide coverage for wsrep-API v25 compatible behavior. The test case in 10.2 is simpler because out of order prepare step cannot happen, the commit order critical section is grabbed before prepare phase. Test is not recorded since it does not produce expected result.
-
- 24 Jan, 2019 8 commits
-
-
Marko Mäkelä authored
Use the same data type 'ulong' to avoid type mismatch on Windows and on 32-bit systems. FIXME: The correct data type should probably be 64-bit.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
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().
-
Andrei Elkin authored
-
Sergei Golubchik authored
pcre needs symbols from pcreposix (but this is only an issue when linking with system static libraries)
-
Thirunarayanan Balathandayuthapani authored
Problem: ======== Server fails to notify the engine by not setting the ADD_PK_INDEX and DROP_PK_INDEX When there is a i) Change in candidate for primary key. ii) New candidate for primary key. Fix: ==== Server sets the ADD_PK_INDEX and DROP_PK_INDEX while doing alter for the above problematic case.
-
- 23 Jan, 2019 20 commits
-
-
Marko Mäkelä authored
I missed this in commit 9a7281a7
-
Andrei Elkin authored
-
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.
-
Sergei Golubchik authored
10.1 part: SHOW CREATE USER didn't show the password, if plugin was set, but authentication_string was not
-
Sergei Golubchik authored
remove tests that rely on specific execution order
-
Sergei Golubchik authored
remove tests that rely on specific execution order
-
Jan Lindström authored
MDEV-17421: mtr does not restart the server whose parameters were changed
-
Andrei Elkin authored
32 bit int Row-based slave applier could not parse correctly the table id when the value exceeded the max of 32 bit unsigned int. The reason turns out in that the being parsed value placeholder was sized as 4 bytes. The type is fixed to ulonglong. Additionally the patch works around Rows_log_event::m_table_id 4 bytes size on 32 bits platforms. In case of last_table_id value overflows the 4 byte max, there won't be the zero value for m_table_id generated and the first wrapped-around value is one, this is thanks to excluding UINT_MAX32 + 1 from TABLE_SHARE::table_map_id.
-
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 1 commit
-
-
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.
-