- 22 Mar, 2018 12 commits
-
-
Sergei Golubchik authored
* make galera.galera_sst_xtrabackup* not big * auto-select between socat and nc, whatever available * auto-skip xtrabackup tests if no xtrabackup or neither socat nor nc
-
Sergei Golubchik authored
make galera.galera_sst_rsync not big
-
Sergei Golubchik authored
fix galera.galera_sst_mysqldump test to work: * must connect to 127.0.0.1, where mysqld is listening * disable wsrep_sync_wait in wsrep_sst_mysqldump, otherwise sst can deadlock * allow 127.0.0.1 for bind_address and wsrep_sst_receive_address. (it's useful in tests, or when two nodes are on the same box, or when nodes are on different boxes, but the connection is tunelled, or whatever. Don't judge user's setup). MDEV-14070 * don't wait for client connections to die when doing mysqldump sst. they'll die in a due time, and if needed mysql will wait on locks until they do. MDEV-14069 Also don't mark it big, to make sure it's sufficiently tested
-
Sergei Golubchik authored
wsrep_sst_auth_init() is always invoked with value==wsrep_sst_auth. Old code was leaking value, because it was never freed.
-
Sergei Golubchik authored
in particular, don't call server_version_string() unnecessary, because it runs 'SELECT @@version_comment' and this might block under certain galera settings (wsrep_sync_wait).
-
Sergei Golubchik authored
-
Sergei Golubchik authored
Backport from 10.2: 4c2c057d and f7090df7
-
Sergei Golubchik authored
It doesn't make sense to allow selects from I_S but disallow selects that don't use any tables at all, because any (disallowed) select that doesn't use tables can be made allowed by adding "FROM I_S.COLLATIONS LIMIT 1" to the end. And it break mysql-test rather badly, even check-testcase.test fails on its first `SELECT '$tmp' = 'No such row'` This reverts 9a896148, c5dd2abf, and 33028f7c: Refs: MW-245 - changed logic so that in non primary node it is possible to do SET + SHOW + SELECT from information and pfs schema, when dirty reads are not enabled - however, non table selects are not allowed (e.g. SELECT 1) Refs MW-245 - logic was wrong in detecting if queries are allowed in non primary node. it allowed select with no table list to execute even if dirty reads was not specified Refs: MW-245 - Adjust tests to account for the new behavior.
-
Sergei Golubchik authored
update README, use maria_declare_plugin(), specify the author.
-
Alexey Botchkov authored
The 'debug' option implemented for the pam_user_map.so.
-
Alexander Barkov authored
-
Thirunarayanan Balathandayuthapani authored
- Mariabackup supports starting undo tablespace id which is greater than 1.
-
- 21 Mar, 2018 5 commits
-
-
Jan Lindström authored
-
Marko Mäkelä authored
Define CF_SKIP_WSREP_CHECK only once.
-
Marko Mäkelä authored
-
Alexey Botchkov authored
information can be obtained. DISKS plugin implementation added to the tree.
-
Marko Mäkelä authored
-
- 20 Mar, 2018 17 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
mem_heap_create_block(): Poison the payload area until mem_heap_alloc() unpoisons it.
-
Marko Mäkelä authored
fil_iterate(), fil_tablespace_iterate(): Replace os_file_read() with os_file_read_no_error_handling(). os_file_read_func(), os_file_read_no_error_handling_func(): Do not retry partial reads. There used to be an infinite amount of retries. Because InnoDB extends both data and log files upfront, partial reads should be impossible during normal operation.
-
Marko Mäkelä authored
Initialize block.page.zip only once. PageConverter::update(): Initialize m_page_zip_ptr as late as possible. (We should really remove it at some point.) PageConverter::operator(): Refer to block->page.zip instead of m_page_zip_ptr. AbstractCallback::get_frame(): Define static. Refer to block->page.zip.data directly. fil_iterate(): Refer to block->page.zip.data directly. fil_tablespace_iterate(): Initialize block.page.zip.data as soon as possible.
-
Marko Mäkelä authored
fil_iterate(): Validate the pages directly. import_page_status_t, PageConverter::validate(): Remove. AbstractCallback::filename(): New accessor. AbstractCallback::is_interrupted(): Replaces periodic_check(). PageConverter::trigger_corruption(): Remove.
-
Marko Mäkelä authored
Reduce unnecessary inter-module calls for IMPORT TABLESPACE. Move some IMPORT-related code from fil0fil.cc to row0import.cc. PageCallback: Remove. Make AbstractCallback the base class. PageConverter: Define some member functions inline.
-
Thirunarayanan Balathandayuthapani authored
assert on UTF-8 columns Problem: ======= (1) Multi-byte character cases are not considered during prefix index cluster optimization check. It leads to fetch of improper results during read operation. (2) Strict assert in row_sel_field_store_in_mysql_format_func and it asserts for prefix index record to mysql conversion. Solution: ======== (1) Consider the case of multi-byte character during prefix index cluster optimization check. (2) Relax the assert in row_sel_field_store_in_mysql_format_func to allow prefix index record to mysql format conversion. The patch is taken from https://github.com/laurynas-biveinis/percona-server/commit/1eee538087ffcf121c37f844b447ba5480faf081
-
Jan Lindström authored
-
Philip Stoev authored
-
sjaakola authored
Refs: MW-245 - changed logic so that in non primary node it is possible to do SET + SHOW + SELECT from information and pfs schema, when dirty reads are not enabled - however, non table selects are not allowed (e.g. SELECT 1)
-
sjaakola authored
Refs MW-245 - logic was wrong in detecting if queries are allowed in non primary node. it allowed select with no table list to execute even if dirty reads was not specified
-
Philip Stoev authored
-
sjaakola authored
refs MW-245 - allowing USE <database> with dirty reads configuration - fix for logic of setting wsrep ready status
-
sjaakola authored
-
Eugene Kosov authored
-
Varun Gupta authored
MDEV-12737: tokudb_mariadb.mdev6657 fails in buildbot with different plan, and outside with valgrind warnings Fixing the test by adding replace column for the rows column in the explain.
-
- 19 Mar, 2018 6 commits
-
-
Jacob Mathew authored
MDEV-10991: Server crashes in spider_udf_direct_sql_create_conn - tests in spider/oracle* suites crash the server The crash occurs due to code that is #ifdef'd out with HAVE_ORACLE_OCI that pertains to the use of Spider with an Oracle data tier. Enabling this code eliminates the crash. The reason that MariaDB needs to support Oracle storage at the data tier is to help customers migrate from Oracle. It is necessary to build Spider with the additional build flag -DHAVE_ORACLE_OCI, and install and start Oracle before running the Oracle test suite or any tests within it. Nevertheless, if Spider is built normally and Oracle has not been started, these tests should not cause the MariaDB server to crash. The bug fix replaces the crash with the following error: ERROR 12501 (HY000) at line 4: The connect info 'ORACLE' is invalid Author: Jacob Mathew. Reviewer: Kentoku Shiba.
-
Vicențiu Ciorbaru authored
-
Eugene Kosov authored
Learn both valgrind and asan to catch this bug: mem_heap_t* heap = mem_heap_create(1024); byte* p = reinterpret_cast<byte*>(heap) + sizeof(mem_heap_t); *p = 123; Overflows of the last allocation in a block will be catched too. mem_heap_create_block(): poison newly allocated memory
-
Alexander Barkov authored
cmp_item_sort_string::store_value() did not cache the string returned from item->val_str(), whose result can point to various private members such as Item_char_typecast::tmp_value. - cmp_item_sort_string::store_value() remembered the pointer returned from item->val_str() poiting to tmp_value into cmp_item_string::value_res. - Later, cmp_item_real::store_value() was called, which called Item_str_func::val_real(), which called Item_char_typecast::val_str(&tmp) using a local stack variable "String tmp". Item_char_typecast::tmp_value was overwritten and become a link to "tmp": tmp_value.Ptr freed its own buffer and set to point to the buffer owned by "tmp". - On return from Item_str_func::val_real(), "String tmp" was destructed, but "tmp_value" still pointed to the buffer owned by "tmp", So tmp_value.Ptr became invalid. - Then cmp_item_sort_string() passed cmp_item_string::value_res to sortcmp(). At this point, value_res still pointed to an invalid value of Item_char_typecast::tmp_value. Fix: changing cmp_item_sort_string::store_value() to force copying to cmp_item_string::value if item->val_str(&value) returned a different pointer (instead of &value).
-
Jan Lindström authored
Fix test failure on galera_flush_local.
-
Jan Lindström authored
Fix test failure on galera_concurrent_ctas
-