summaryrefslogtreecommitdiff
path: root/mysql-test/suite
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.0 into 10.1Marko Mäkelä2017-12-184-0/+51
|\
| * MDEV-14641 Incompatible key or row definition between the MariaDB .frm file ↵Sergei Golubchik2017-12-182-0/+27
| | | | | | | | | | | | | | | | and the information in the storage engine make sure that mysql_create_frm_image() and fast_alter_partition_table() use the same code to derive HA_OPTION_PACK_RECORD from create_info->row_type.
| * MDEV-14008 Assertion failing: `!is_set() || (m_status == DA_OK_BULK && ↵Alexander Barkov2017-12-182-0/+24
| | | | | | | | is_bulk_op())
* | MDEV-10486 MariaDB 10.x does not update rows_examined in performance_schema ↵Alexey Botchkov2017-12-182-0/+31
| | | | | | | | | | | | tables. Save the rows_examined counter before it gets emptied.
* | Merge 10.0 into 10.1Marko Mäkelä2017-12-132-0/+113
|\ \ | |/
| * MDEV-12352 InnoDB shutdown should not be blocked by a large transaction rollbackMarko Mäkelä2017-12-132-0/+11
| | | | | | | | | | | | | | | | row_undo_step(), trx_rollback_active(): Abort the rollback of a recovered ordinary transaction if fast shutdown has been initiated. trx_rollback_resurrected(): Convert an aborted-rollback transaction into a fake XA PREPARE transaction, so that fast shutdown can proceed.
| * MDEV-13797 InnoDB may hang if shutdown is initiated soon after startup while ↵Marko Mäkelä2017-12-132-0/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | rolling back recovered incomplete transactions trx_rollback_resurrected(): If shutdown was initiated, fake all remaining active transactions to XA PREPARE state, so that shutdown can proceed. Also, make the parameter "all" an output that will be assigned to FALSE in this case. trx_rollback_or_clean_recovered(): Remove the shutdown check (it was moved to trx_rollback_resurrected()). trx_undo_free_prepared(): Relax assertions.
| * MDEV-9663: InnoDB assertion failure: *cursor->index->name == TEMP_INDEX_PREFIXJan Lindström2017-11-162-2/+8
| | | | | | | | | | | | MariaDB adjustments to test case innodb-replace-debug. MariaDB 10.0 does not seem to be affected.
| * MDEV-9663: InnoDB assertion failure: *cursor->index->name == TEMP_INDEX_PREFIXJan Lindström2017-11-162-0/+22
| | | | | | | | | | | | | | | | | | | | Imported missing test case from MySQL 5.7 for commit 25781c154396dbbc21023786aa3be070057d6999 Author: Annamalai Gurusami <annamalai.gurusami@oracle.com> Date: Mon Feb 24 14:00:03 2014 +0530 Bug #17604730 ASSERTION: *CURSOR->INDEX->NAME == TEMP_INDEX_PREFIX
* | Try to prevent sporadic test failuresMarko Mäkelä2017-12-131-1/+1
| | | | | | | | | | | | On Windows, sometimes more files stay open: [Warning] InnoDB: innodb_open_files=13 is exceeded (15 files stay open)
* | Add Galera test cases that fail to disabled.Jan Lindström2017-12-092-1/+6
| |
* | MDEV-14401: Stored procedure that declares a handler that catches ↵Jan Lindström2017-12-092-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ER_LOCK_DEADLOCK error causes thd->is_error() assertion This was missing bug fix from MySQL wsrep i.e. Galera. Problem was that if stored procedure declares a handler that catches deadlock error, then the error may have been cleared in method sp_rcontext::handle_sql_condition(). Use wsrep_conflict_state correctly to determine is the error already sent to client. Add test case for both this bug and MDEV-12837: WSREP: BF lock wait long. Test requires both fixes to pass.
* | MDEV-12837: WSREP: BF lock wait longJan Lindström2017-12-092-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is 10.1 version where no merge error exists. wsrep_on_check New check function. Galera can't be enabled if innodb-lock-schedule-algorithm=VATS. innobase_kill_query In Galera async kill we could own lock mutex. innobase_init If Variance-Aware-Transaction-Sheduling Algorithm (VATS) is used on Galera we refuse to start InnoDB. Changed innodb-lock-schedule-algorithm as read-only parameter as it was designed to be. lock_rec_other_has_expl_req, lock_rec_other_has_conflicting, lock_rec_lock_slow lock_table_other_has_incompatible lock_rec_insert_check_and_lock Change pointer to conflicting lock to normal pointer as this pointer contents could be changed later.
* | MDEV-10688 rpl.rpl_row_log_innodb failed in buildbotMonty2017-12-033-6/+0
| | | | | | | | | | | | | | | | | | Problem was that Binlog_checkpoint can happen at random times. Fixed by not write binlog_checkpoint for the rpl_log test. Other things: - Removed not used variable "$keep_gtid_events" - Added option for show_binlog_events to skip binlog_checkpoint
* | MDEV-14447 mariabackup incremental incorrectly extends system tablespaceVladislav Vaintroub2017-11-243-0/+66
| | | | | | | | | | | | | | | | for multi-file innodb_data_file_path. Use fil_extend_space_to_desired_size() to correctly extend system tablespace. Make sure to get tablespace size from the first tablespace part.
* | never add new error messages to old GA releases!Sergei Golubchik2017-11-192-6/+6
| | | | | | | | this fixes aae4932775d
* | MDEV-9663: InnoDB assertion failure: *cursor->index->name == TEMP_INDEX_PREFIXJan Lindström2017-11-162-2/+8
| | | | | | | | | | | | | | MariaDB adjustments to test case innodb-replace-debug and add missing instrumentation to row0ins.cc. MariaDB 10.1 does not seem to be affected.
* | MDEV-9663: InnoDB assertion failure: *cursor->index->name == TEMP_INDEX_PREFIXJan Lindström2017-11-162-0/+22
| | | | | | | | | | | | | | | | | | | | Imported missing test case from MySQL 5.7 for commit 25781c154396dbbc21023786aa3be070057d6999 Author: Annamalai Gurusami <annamalai.gurusami@oracle.com> Date: Mon Feb 24 14:00:03 2014 +0530 Bug #17604730 ASSERTION: *CURSOR->INDEX->NAME == TEMP_INDEX_PREFIX
* | MDEV-9510 Segmentation fault in binlog thread causes crashAndrei Elkin2017-11-152-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With combination of --log-bin and Galera the server may crash reporting two characteristic stacks: /usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG13mark_xid_doneEmb+0xc7)[0x7f182a8e2cb7] /usr/sbin/mysqld(binlog_background_thread+0x2b5)[0x7f182a8e3275] or /usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG21do_checkpoint_requestEm+0x9d)[0x7ff395b2dafd] /usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG20checkpoint_and_purgeEm+0x11)[0x7ff395b2db91] /usr/sbin/mysqld(_ZN13MYSQL_BIN_LOG16rotate_and_purgeEb+0xc2)[0x7ff395b300b2] The reason of the failure appears to be non-matching decrements for `xid_count_per_binlog::xid_count` which can occur when a transaction is executed having its connection issued `SET @@sql_log_bin=0`. In such case the xid count is not incremented but its decrements still runs to turn `binlog_xid_count_list` into improper state which the following FLUSH BINARY LOGS exposes through the crash. *Note_1*: the regression test reuses an existing galera.sql_log_bin which does not run stably (even in its base form) by mtr with --log-bin. *Note_2*: 10.0-galera branch is free of this issue having missed MDEV-7205 fixes.
* | MDEV-12012/MDEV-11969 Can't remove GTIDs for a stale GTID Domain IDAndrei Elkin2017-11-157-2/+359
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported in MDEV-11969 "there's no way to ditch knowledge" about some domain that is no longer updated on a server. Besides being of annoyance to clutter output in DBA console stale domains can prevent the slave to connect the master as MDEV-12012 witnesses. What domain is obsolete must be evaluated by the user (DBA) according to whether the domain info is still relevant and will the domain ever receive any update. This patch introduces a method to discard obsolete gtid domains from the server binlog state. The removal requires no event group from such domain present in existing binlog files though. If there are any the containing logs must be first PURGEd in order for FLUSH BINARY LOGS DELETE_DOMAIN_ID=(list-of-domains) succeed. Otherwise the command returns an error. The list of obsolete domains can be computed through intersecting two sets - the earliest (first) binlog's Gtid_list and the current value of @@global.gtid_binlog_state - and extracting the domain id components from the intersection list items. The new DELETE_DOMAIN_ID featured FLUSH continues to rotate binlog omitting the deleted domains from the active binlog file's Gtid_list. Notice though when the command is ineffective - that none of requested to delete domain exists in the binlog state - rotation does not occur. Obsolete domain deletion is not harmful for connected slaves as long as master side binlog files *purge* is synchronized with FLUSH-DELETE_DOMAIN_ID. The slaves must have the last event from purged files processed as usual, in order not to bump later into requesting a gtid from a file which was already gone. While the command is not replicated (as ordinary FLUSH BINLOG LOGS is) slaves, even though having extra domains, won't suffer from reconnection errors thanks to master-slave gtid connection protocol allowing the master to be ignorant about a gtid domain. Should at failover such slave to be promoted into master role it may run the ex-master's FLUSH BINARY LOGS DELETE_DOMAIN_ID=(list-of-domains) to clean its own binlog state. NOTES. suite/perfschema/r/start_server_low_digest.result is re-recorded as consequence of internal parser codes changes.
* | Merge branch 'github/10.0-galera' into 10.1Sergei Golubchik2017-11-106-6/+547
|\ \
| * | MW-388mariadb-galera-10.0.33Jan Lindström2017-11-081-0/+2
| | | | | | | | | | | | Test uses now debug and debug_sync.
| * | Fix galera.galera_suspend_slave on FreeBSDVasil Dimov2017-11-081-2/+2
| | | | | | | | | | | | | | | Use symbolic signal names (e.g. SIGSTOP) instead of numeric ones (e.g. 19) because the latter are not portable.
| * | MW-410 Stability fix for test galera.galera_ftwrlDaniele Sciascia2017-11-081-4/+3
| | |
| * | MW-402 cascading FK issues, 5.6 versionsjaakola2017-11-082-7/+91
| | | | | | | | | | | | Added one more test scenario for two cascading parent tables
| * | MW-388Jan Lindström2017-11-082-1/+18
| | | | | | | | | | | | MariaDB adjustments.
| * | MW-402 cascading FK issuessjaakola2017-11-084-11/+363
| | | | | | | | | | | | | | | | | | | | | | | | * created tests focusing in multi-master conflicts during cascading foreign key processing * in row0upd.cc, calling wsrep_row_ups_check_foreign_constraints only when running in cluster * in row0ins.cc fixed regression from MW-369, which caused crash with MW-402.test
| * | MW-388 Fix conflict handling of SPs with DECLARE ... HANDLERDaniele Sciascia2017-11-082-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible for a stored procedure that has an error handler that catches SQLEXCEPTION to call thd->clear_error() on a thd that failed certification. And because the error is cleared, wsrep patch proceeds with the normal path and may try to commit statements that should actually abort. This patch catches the situation where wsrep_conflict_state is still set, but the thd's error has been cleared, and rolls back the statement in such cases.
| * | Merge tag 'mariadb-10.0.33' into bb-10.0-galerabb-10.0-sachin-galeraSachin Setiya2017-11-03131-88/+8016
| |\ \
* | | | MDEV-14333 Mariabackup --apply-log-only crashes if incomplete transactions ↵Marko Mäkelä2017-11-092-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | with update_undo logs are present trx_undo_free_prepared(): Relax the assertion for mariabackup --apply-log-only.
* | | | Fix test caseVladislav Vaintroub2017-11-062-4/+6
| | | |
* | | | MDEV-12108 Fix backup for Innodb tables with DATA DIRECTORYVladislav Vaintroub2017-11-065-0/+81
| | | |
* | | | Merge 10.0 into 10.1Marko Mäkelä2017-11-0611-222/+175
|\ \ \ \ | | |_|/ | |/| |
| * | | MDEV-14140 IMPORT TABLESPACE must not go beyond FSP_FREE_LIMITMarko Mäkelä2017-11-064-336/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ibuf_check_bitmap_on_import(): Only access the pages that are below FSP_FREE_LIMIT. It is possible that especially with ROW_FORMAT=COMPRESSED, the FSP_SIZE will be much bigger than the FSP_FREE_LIMIT, and the bitmap pages (page_size*N, 1+page_size*N) are filled with zero bytes. buf_page_is_corrupted(), buf_page_io_complete(): Make the fault injection compatible with MariaDB 10.2. Backport the IMPORT tests from 10.2.
| * | | MDEV-10651, MDEV-14196 sys_vars.innodb_buffer_pool_* tests failElena Stepanova2017-11-057-55/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - innodb_buffer_pool_dump_now_basic is modified to make sure it really performs a dump and waits till it completion, to avoid the apparent or hidden failure similar to MDEV-9713 / MDEV-10651 - innodb_buffer_pool_dump_pct_basic is modified to re-use the new code from innodb_buffer_pool_dump_now_basic and thus avoid the failure MDEV-10651 - innodb_buffer_pool_load_now_basic is re-written to simplify the logic by re-using the code innodb_buffer_pool_dump_now_basic and is given an opt file to avoid race conditions with buffer pool load performed upon server startup, which causes MDEV-14196 failure
| * | | MDEV-13921 Audit log writes invalid SQL if single-line comments areAlexey Botchkov2017-11-032-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | present. thread_pool_server_audit.test fixed. plugin version updated.
| * | | MDEV-13921 Audit log writes invalid SQL if single-line comments areAlexey Botchkov2017-11-032-4/+10
| | |/ | |/| | | | | | | | | | | | | | | | present. Escape special characters (like \r \n \t) instead of replacing them with spaces.
* | | MDEV-13921 Audit log writes invalid SQL if single-line comments areAlexey Botchkov2017-11-032-4/+10
| | | | | | | | | | | | | | | | | | | | | present. thread_pool_server_audit.test fixed. plugin version updated.
* | | MDEV-13921 Audit log writes invalid SQL if single-line comments areAlexey Botchkov2017-11-032-4/+10
| | | | | | | | | | | | | | | | | | | | | present. Escape special characters (like \r \n \t) instead of replacing them with spaces.
* | | MDEV-14219 Allow online table rebuild when encryption or compression ↵Marko Mäkelä2017-10-3111-25/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | parameters change When MariaDB 10.1.0 introduced table options for encryption and compression, it unnecessarily changed ha_innobase::check_if_supported_inplace_alter() so that ALGORITHM=COPY is forced when these parameters differ. A better solution is to move the check to innobase_need_rebuild(). In that way, the ALGORITHM=INPLACE interface (yes, the syntax is very misleading) can be used for rebuilding the table much more efficiently, with merge sort, with no undo logging, and allowing concurrent DML operations.
* | | Merge 10.0 into 10.1Marko Mäkelä2017-10-2410-20/+309
|\ \ \ | |/ /
| * | Merge 5.5 into 10.0Marko Mäkelä2017-10-244-8/+289
| |\ \
| | * | MDEV-14051 'Undo log record is too big.' error occurring in very narrow ↵bb-5.5-markoMarko Mäkelä2017-10-244-2/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | range of string lengths InnoDB was writing unnecessary information to the update undo log records. Most notably, if an indexed column is updated, the old value of the column would be logged twice: first as part of the update vector, and then another time because it is an indexed column. Because the InnoDB undo log record must fit in a single page, this would cause unnecessary failure of certain updates. Even after this fix, InnoDB still seems to be unnecessarily logging indexed column values for non-updated columns. It seems that non-updated secondary index columns only need to be logged when a PRIMARY KEY column is updated. To reduce risk, we are not fixing this remaining flaw in GA versions. trx_undo_page_report_modify(): Log updated indexed columns only once.
* | | | Do not use File::Which, it is not always available.Vladislav Vaintroub2017-10-231-2/+4
| | | |
* | | | MDEV-14102 restore --remove-original options for mariabackupVladislav Vaintroub2017-10-233-0/+41
| | | |
* | | | Merge branch '10.0' into 10.1Sergei Golubchik2017-10-2223-79/+632
|\ \ \ \ | |/ / /
| * | | Merge branch '5.5' into 10.0Sergei Golubchik2017-10-186-2/+85
| |\ \ \ | | |/ /
| | * | MDEV-13937 Aria engine: Internal Error 160 after partition handlingSergei Golubchik2017-10-172-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partition wasn't setting HA_OPTION_PACK_RECORD on ALTER TABLE if the row format was PAGE. (so one bit in the null bitmap was reserved for a deleted bit - see make_empty_rec - and all actual null bits were one off)
| | * | MDEV-13530 VARBINARY doesn't convert to to BLOB for sizes 65533, 65534 and 65535Alexander Barkov2017-10-132-2/+10
| | | |
| | * | MDEV-11819 NO_ZERO_IN_DATE: Incorrect generated column valueAlexander Barkov2017-10-062-0/+39
| | | |