summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'mariadb-10.2.6' into bb-10.2-extAlexander Barkov2017-05-26514-5832/+38534
|\
| * Additions to 10.2.6 unstable-tests listmariadb-10.2.6Elena Stepanova2017-05-151-8/+9
| |
| * MDEV-12674 Post-merge fix: Include accidentally omitted changesMarko Mäkelä2017-05-124-8/+54
| | | | | | | | | | In 10.2, the definition of simple_counter resides in the file sync0types.h, not in the file os0sync.h which has been removed.
| * Merge 10.1 into 10.2Marko Mäkelä2017-05-1215-228/+170
| |\
| | * Merge 10.0 into 10.1Marko Mäkelä2017-05-1214-239/+219
| | |\
| | | * MDEV-12674 Innodb_row_lock_current_waits has overflowMarko Mäkelä2017-05-1212-233/+214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a race condition related to the variable srv_stats.n_lock_wait_current_count, which is only incremented and decremented by the function lock_wait_suspend_thread(), The incrementing is protected by lock_sys->wait_mutex, but the decrementing does not appear to be protected by anything. This mismatch could allow the counter to be corrupted when a transactional InnoDB table or record lock wait is terminating roughly at the same time with the start of a wait on a (possibly different) lock. ib_counter_t: Remove some unused methods. Prevent instantiation for N=1. Add an inc() method that takes a slot index as a parameter. single_indexer_t: Remove. simple_counter<typename Type, bool atomic=false>: A new counter wrapper. Optionally use atomic memory operations for modifying the counter. Aligned to the cache line size. lsn_ctr_1_t, ulint_ctr_1_t, int64_ctr_1_t: Define as simple_counter<Type>. These counters are either only incremented (and we do not care about losing some increment operations), or the increment/decrement operations are protected by some mutex. srv_stats_t::os_log_pending_writes: Document that the number is protected by log_sys->mutex. srv_stats_t::n_lock_wait_current_count: Use simple_counter<ulint, true>, that is, atomic inc() and dec() operations. lock_wait_suspend_thread(): Release the mutexes before incrementing the counters. Avoid acquiring the lock mutex if the lock wait has already been resolved. Atomically increment and decrement srv_stats.n_lock_wait_current_count. row_insert_for_mysql(), row_update_for_mysql(), row_update_cascade_for_mysql(): Use the inc() method with the trx->id as the slot index. This is a non-functional change, just using inc() instead of add(1). buf_LRU_get_free_block(): Replace the method add(index, n) with inc(). There is no slot index in the simple_counter.
| | * | MDEV-12253 post-fix: Do not leak memory in crash recoveryMarko Mäkelä2017-05-092-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a backport from 10.2 where it fixes the cmake -DWITH_ASAN test failure that was mentioned in commit f9cc391863ab962e8c8a8a8a676d730498eb8d6f (merging MDEV-12253 from 10.1 to 10.2). fil_parse_write_crypt_data(): If the tablespace is not found, invoke fil_space_destroy_crypt_data(&crypt_data) to properly free the created object.
| | * | MDEV-12253 post-push fix: buf_read_page_low() can return DB_ERRORMarko Mäkelä2017-05-092-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | The function buf_read_page_low() invokes fil_io(), which can return DB_ERROR when the requested page is out of bounds (such as when restoring a buffer pool dump). The callers should be handling that.
| * | | MDEV-10804 main.stat_tables_par fails sporadically in buildbotMichael Widenius2017-05-114-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was because of two issues: - thr_multi_lock_after_thr_lock needed to be hit 3 times before go2 could be signaled, because 2 of these happened before statistics_update_start was reached. - The original code didn't take into accunt that thr_locks can be executed in any random order, which caused sporadic failures when waiting for 1 lock of 3, as if the locks where in different order, there would be a dead-lock. Fixed by introducing thr_multi_lock_before_thr_lock which is deterministic. - Some of the test failures where not noticed as the DEBUG_SYNC timeout would cause the test to pass (after 300 seconds).
| * | | Build MyRocks as a plugin (as static compilation doesn't work)Michael Widenius2017-05-111-1/+1
| | | |
| * | | MDEV-11197: TrxInInnoDB::is_aborted(const trx_t*): Assertion ↵Jan Lindström2017-05-102-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `srv_read_only_mode || trx->in_depth > 0' failed TrxInInnoDB should be constructed to track if a transaction is executing inside InnoDB code i.e. it is like a gate between Server and InnoDB ::rnd_next() is called from Server and thus construct TrxInInnoDB also there. Applied suggested clean-up to TrxInInnoDB class functions enter() and exit(). Note that exactly original did not work for enter().
| * | | MDEV-12776 Do not create the InnoDB temporary tablespace in innodb_read_only ↵Marko Mäkelä2017-05-103-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mode The InnoDB temporary tablespace is only usable if innodb_read_only=OFF. It is useless to create the tablespace in read-only mode, because CREATE TEMPORARY TABLE is disallowed if innodb_read_only, and nothing can we written to the temporary tablespace if no temporary tables can be created.
| * | | MDEV-12754 innodb.truncate_debug fails in buildbot with embedded due to ↵Sergei Golubchik2017-05-104-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | semaphore wait fix sporadic innodb.truncate_purge_debug failures
| * | | fix 32 bit platform testOleksandr Byelkin2017-05-101-64/+201
| | | |
| * | | update to the latest C/C to fix failures on WindowsSergei Golubchik2017-05-101-0/+0
| | | |
| * | | skip innodb.innodb_xtradb_compat on WindowsSergei Golubchik2017-05-101-0/+1
| | | | | | | | | | | | | | | | | | | | because it tests for variables that aren't compiled for Windows, like --innodb-priority-cleaner
| * | | MDEV-12708 innodb.truncate_purge_debug fails sporadically in buildbotMarko Mäkelä2017-05-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latest attempted fix for MDEV-11802 InnoDB purge fails to start when there is work to do is not complete. For now, work around the issue by making SHOW ENGINE INNODB STATUS call srv_wake_purge_thread_if_not_active() to wake up the purge.
| * | | MDEV-12679 purge_sys_t::~purge_sys_t(): Assertion `latch.magic_n == 0' ↵Marko Mäkelä2017-05-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | failed on --bootstrap (CMAKE_BUILD_TYPE=Debug) rw_lock_free_func(): Assign lock->magic_n = 0 in debug builds, because sometimes, the assignment in the explicit destructor call is being optimized away. This was verified when using GCC 6.3.0 with -O3 -g -mtune=native on a Debian GNU/Linux 9.0 system on AMD64.
| * | | Fix some integer type mismatch.Marko Mäkelä2017-05-1020-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use uint32_t for the encryption key_id. When filling unsigned integer values into INFORMATION_SCHEMA tables, use the method Field::store(longlong, bool unsigned) instead of using Field::store(double). Fix also some miscellanous type mismatch related to ulint (size_t).
| * | | Fix of emulated variables comments to reflect reality.Oleksandr Byelkin2017-05-103-93/+595
| | | |
| * | | MDEV-12762 Some files in current 10.2 tree seem to be reverted to an old stateMarko Mäkelä2017-05-1065-684/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue was a bad merge of MDEV-12253 from 10.1 to 10.2 in commit f9cc391863ab962e8c8a8a8a676d730498eb8d6f. In that merge, I wrongly assumed that all test file conflicts for mysql-test/suite/encryption had been properly resolved in bb-10.2-MDEV-12253 (commit 76aa6be77635c7017459ce33b41c837c9acb606d) while in fact, some files there had been copied from the 10.1 branch. This commit is based on a manually done conflict resolution of the mysql-test/suite/encryption on the same merge, applied to the current 10.2 branch. As part of this commit, the test encryption.innodb-bad-key-change4 which was shortly disabled due to MDEV-11336 will be re-enabled again. (While the test enables innodb_defragment, it does not fail even though enabling innodb_defragment currently has no effect.)
| * | | fix crashes with openssl fips buildsSergei Golubchik2017-05-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Apparently openssl ignores CRYPTO_set_mem_functions() in fips mode, so we cannot detect structure sizes. Don't freak out when no mallocs were detected.
| * | | List of unstable tests for 10.2.6 (initial 10.2 version for GA)Elena Stepanova2017-05-101-375/+273
| | | |
| * | | Disable RocksDB tests that fail regularly on buildbot (MDEV-12474)Elena Stepanova2017-05-101-0/+5
| | | | | | | | | | | | | | | | Tests which fail on Xenial fulltest
| * | | Update C/C (fix build on Windows)Vladislav Vaintroub2017-05-101-0/+0
| | | |
| * | | MDEV-12750 Fix crash recovery of key rotationMarko Mäkelä2017-05-095-42/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When MySQL 5.7.9 was merged to MariaDB 10.2.2, an important debug assertion was omitted from mlog_write_initial_log_record_low(). mlog_write_initial_log_record_low(): Put back the assertion mtr_t::is_named_space(). fil_crypt_start_encrypting_space(), fil_crypt_rotate_page(): Call mtr_t::set_named_space() before modifying any pages. fsp_flags_try_adjust(): Call mtr_t::set_named_space(). This additional breakage was introduced in the merge of MDEV-11623 from 10.1. It was not caught because of the missing debug assertion in mlog_write_initial_log_record_low(). Remove some suppressions from the encryption.innodb-redo-badkey test.
| * | | MDEV-12472: InnoDB should accept XtraDB parameters, warning that they are ↵Jan Lindström2017-05-095-0/+1534
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ignored Added a new file ha_xtradb.h where XtraDB parameters are defined. This file is included in two places to avoid too intrusive change to ha_innodb.cc that would make future merges harder. innodb_show_locks_held and innodb_show_verbose_locks should be implemented (but on different commit).
| * | | Added tests for MDEV-11724, MDEV-11725, MDEV-11726.Jan Lindström2017-05-092-0/+118
| | | |
| * | | MDEV-10332 support for OpenSSL 1.1 and LibreSSLSergei Golubchik2017-05-0917-284/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | post-review fixes: * move all ssl implementation related ifdefs/defines to one file (ssl_compat.h) * work around OpenSSL-1.1 desire to malloc every EVP context by run-time checking that context allocated on the stack is big enough (openssl.c) * use newer version of the AWS SDK for OpenSSL 1.1 * use get_dh2048() function as generated by openssl 1.1 (viosslfactories.c)
| * | | MDEV-10332 support for OpenSSL 1.1 and LibreSSLGeorg Richter2017-05-0919-88/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial support tested against OpenSSL 1.0.1, 1.0.2, 1.1.0, Yassl and LibreSSL not working on Windows with native SChannel support, due to wrong cipher mapping: Latter one requires push of CONC-241 fixes. Please note that OpenSSL 0.9.8 and OpenSSL 1.1.0 will not work: Even if the build succeeds, test cases will fail with various errors, especially when using different tls libraries or versions for client and server.
| * | | update C/CSergei Golubchik2017-05-091-0/+0
| | | |
| * | | Fix test failure on Windows.Jan Lindström2017-05-091-0/+1
| | | | | | | | | | | | | | | | In windows error message contains .exe.
| * | | MDEV-12019 FLASHBACK: Server crashes in bitmap_bits_set / pack_row / ...Sachin Setiya2017-05-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason for this crash is that table->rpl_write_set is NULL. In Rows_log_event::do_apply_event we set table->rpl_write_set equal to table->write_set. But we do not set table->rpl_write_set in Old_rows_log_event::do_apply_event.
| * | | Merge branch '10.1' into 10.2Sergei Golubchik2017-05-0984-376/+1292
| |\ \ \ | | |/ / | | | | | | | | | | | | Revert commit db0917f68f, because the fix for MDEV-12696 is coming from 5.5 and 10.1 in this merge.
| | * | Merge pull request #389 from iangilfillan/10.1Jan Lindström2017-05-092-4/+24
| | |\ \ | | | | | | | | | | galera_new_cluster man page and sh typo
| | | * | galera_new_cluster man page and sh typo=Ian Gilfillan2017-05-092-4/+24
| | |/ /
| | * | MDEV-12696 Crash with LOAD XML and non-updatable VIEW columnSergei Golubchik2017-05-094-12/+62
| | | | | | | | | | | | | | | | extend the fix from 5.5 (in read_sep_field()) to apply to read_xml_field()
| | * | Merge branch '10.0' into 10.1Sergei Golubchik2017-05-089-31/+167
| | |\ \ | | | |/
| | | * Merge branch '5.5' into 10.0Sergei Golubchik2017-05-084-6/+89
| | | |\
| | | | * Fixed the bug mdev-12673.Igor Babaev2017-05-043-5/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch corrects the fix for the bug mdev-10693. It is critical for the function get_best_combination() not to call create_ref_for_key() for constant tables. This bug could manifest itself only in multi-table subqueries where one of the tables is accessed by a constant primary key.
| | | | * bump the VERSIONDaniel Bartholomew2017-05-021-1/+1
| | | | |
| | | | * mysqld_safe_help - remove warningmariadb-5.5.56Daniel Black2017-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /home/travis/build/MariaDB/server/extra/mysqld_safe_helper.c:62:21: warning: too many arguments in call to 'do_usage' do_usage(argv[0]); ~~~~~~~~ ^ 1 warning generated.
| | | * | MDEV-10104 Table lock race condition with replicationMonty2017-05-051-13/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem was two race condtion in Aria page cache: - find_block() didn't inform free_block() that it had released requests - free_block() didn't handle pinned blocks, which could happen if free_block() was called as part of flush. This is fixed by not freeing blocks that are pinned. This is safe as when maria_close() is called when last thread is using a table, there can be no pinned blocks. For other flush calls it's safe to ignore pinned blocks.
| | | * | Fixed some bugs in fork_big.pl which caused some tests to die earlyMonty2017-05-051-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Changed to 'strict' - Fixed scope of variables - Made timing smaller for of repair, check, flush and alter to get them to trigger earlier
| | | * | MDEV-12635 innodb.log_file_size fails when run with ValgrindMarko Mäkelä2017-05-052-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In MariaDB Server before 10.2, InnoDB will not be shut down properly if startup fails. So, Valgrind failures are to be expected. Disable the test under Valgrind. In 10.2, it should pass with Valgrind.
| | | * | restore dependencies, removed in f2dc04abeaSergei Golubchik2017-05-031-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | otherwise make didn't know it needs to regenerate lex_hash.h when gen_lex_hash (that is sql_yacc.h, that is sql_yacc.yy) changes.
| | * | | MDEV-12628: innodb.innodb_bug14147491 sporadically fails in buildbot due to ↵Jan Lindström2017-05-082-18/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wrong error number Actual error number returned from the query depends what point corrupted page is accessed, is it accessed when we read one of the pages for result set or is it accessed during background page read.
| | * | | MDEV-12627: innodb.innodb_bug14147491 does not do proper cleanupJan Lindström2017-05-082-6/+0
| | | | | | | | | | | | | | | | | | | | Removed creation of unused backup file and unused variables.
| | * | | Fix AWS key managemennt compile error on LinuxVladislav Vaintroub2017-05-061-1/+1
| | | | |
| | * | | Fix compilation of aws_key_management pluginVladislav Vaintroub2017-05-051-4/+5
| | | | |