- 28 Jan, 2021 1 commit
-
-
Marko Mäkelä authored
-
- 27 Jan, 2021 3 commits
-
-
Thirunarayanan Balathandayuthapani authored
MDEV-24693 LeakSanitizer: detected memory leaks in mem_heap_create_block_func / fts_optimize_create_msg - This issue is caused by the commit bf1f9b59 (MDEV-24638). Delay the creation of SYNC message in fts_optimize_request_sync_table. So that InnoDB can avoid creating the message if the table already has SYNC message in fts_optimize_wq queue
-
Jan Lindström authored
* galera * galera_sr * galera_3nodes
-
Jan Lindström authored
Correct test.
-
- 26 Jan, 2021 1 commit
-
-
Roman Nozdrin authored
the top level
-
- 25 Jan, 2021 8 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
We may end up with an empty leaf page (containing only an ADD COLUMN metadata record) that is not the root page. innobase_add_instant_try(): Disable an optimization for a non-canonical empty table that contains a metadata record somewhere else than in the root page. btr_pcur_store_position(): Tolerate a non-canonical empty table.
-
- 23 Jan, 2021 2 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
MDEV-24659 Assertion !fsp_is_system_temporary(bpage->id().space()) failed in buf_flush_relocate_on_flush_list() When commit 5eb53955 (MDEV-12227) removed the pages of temporary tables from the buf_pool.flush_list, an adjustment to the buffer pool resizing was forgotten. buf_pool_t::realloc(): Do not invoke buf_flush_relocate_on_flush_list() for pages that belong to the temporary tablespace. Also, deduplicate some code at the end. buf_page_t::set_corrupt_id(): Tolerate oldest_modification()==1 (the dummy value) for temporary tablespace pages. The revised buf_pool_t::realloc() may invoke this on dirty temporary tablespace pages.
-
- 22 Jan, 2021 4 commits
-
-
Marko Mäkelä authored
Ever since commit 947efe17 InnoDB no longer writes binlog position in one place. It will not at all be written to the TRX_SYS page, and instead it will be written to the undo log header page that changes the transaction state. trx_rseg_mem_restore(): Recover the information from the latest written page.
-
Thirunarayanan Balathandayuthapani authored
fts_optimize_request_sync_table() can avoid the repetitive FTS SYNC request of the table if the table already has FTS_SYNC message in fts_optimize_wq queue. Reviewed-by: Marko Mäkelä
-
Jan Lindström authored
MDEV-24463 : galera.galera_sst_mysqldump_with_key MTR failed: 'INSERT failed: 1213: Deadlock found when trying to get lock We need to complete SST if both new and old start positions are not same as initial positions. If they are initial positions just set local uuid and seqno.
-
Thirunarayanan Balathandayuthapani authored
While reusing the cached undo log block, mtr expects the page write to change while writing the trx id. cached undo log block could contain bytes which were originally written for some other transaction. So InnoDB should make mtr to do MAYBE_NOP while reusing cached undo log block. Reviewed-by: Marko Mäkelä
-
- 21 Jan, 2021 4 commits
-
-
Sergei Golubchik authored
I_S tables were materialized too late, an attempt to use table statistics before the table was created caused a crash. Let's move table creation up. it only needs read_set to be calculated properly, this happens in JOIN::optimize_inner(), after semijoin transformation. Note that tables are not populated at that point, so most of the statistics would make no sense anyway. But at least field sizes will be correct. And it won't crash.
-
Sergei Golubchik authored
-
Monty authored
The problem was that update_timing_fields_for_event() didn't release all MDL locks it took.
-
Jan Lindström authored
MDEV-24596 : Assertion `state_ == s_exec || state_ == s_quitting' failed in wsrep::client_state::disable_streaming There were multiple problems here * wsrep_trx_fragment_size should not be set when wsrep is disabled or provider is not loaded * wsrep_trx_fragment_unit should not be set when wsrep is disabled or provider is not loaded * wsrep_debug has no effect if wsrep is disabled or provider is not loaded * wsrep_start_position should not be set when wsrep is disabled or provider is not loaded any other value than default * wsrep_start_position should be changed only when we are joiner or initialized * wsrep_start_position should be allowed to set only a value that exits, thus we need to add error handling to wsrep_sst_complete
-
- 20 Jan, 2021 1 commit
-
-
sjaakola authored
Fix for MDEV-23033 fixes a problem in replication applying of transactions, which contain cascading foreign key delete for a table, which has indexed virtual column. This fix adds slave_fk_event_map flag for table, to mark when the prelocking is needed for applying of a transaction. See commit 608b0ee5 for more details. However, this fix is targeted for async replication only, Rows_log_event::do_apply_event() has condition to rule out galera replication from the fix domain, and use cases suffering from MDEV-23033 and related MDEV-21153 will fail in galera cluster. The fix in this commit removes the condition to rule out the setting of slave_fk_event_map flag from galera replication, and makes the fix in MDEV-23033 effective for galera replication as well. However, the above fix has caused regressions for some galera_sr suite tests, which run tests for streaming replication. This regression can be observed e.g. by: /mtr galera_sr.galera_sr_multirow_rollback --mysqld=--slave_run_triggers_for_rbr=yes These galera_sr suite tests were failing in last phase of replication applying, where actual transaction is already applied, and streaming replication related meta data needs to be updated in wsrep system tables. Opening the wsrep system tables failed for corrupt data in THD::lex:query_tables_list. The fix in this commit uses back query table list for the duration of fragment update operation. Finally, a mtr test for virtual column support has been added. galera.galera_virtual_column.test has as first test a scenario from MDEV-21153 new fix Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
-
- 19 Jan, 2021 4 commits
-
-
sjaakola authored
Fix for MDEV-23033 fixes a problem in replication applying of transactions, which contain cascading foreign key delete for a table, which has indexed virtual column. This fix adds slave_fk_event_map flag for table, to mark when the prelocking is needed for applying of a transaction. See commit 608b0ee5 for more details. However, this fix is targeted for async replication only, Rows_log_event::do_apply_event() has condition to rule out galera replication from the fix domain, and use cases suffering from MDEV-23033 and related MDEV-21153 will fail in galera cluster. The fix in this commit removes the condition to rule out the setting of slave_fk_event_map flag from galera replication, and makes the fix in MDEV-23033 effective for galera replication as well. Finally, a mtr test for virtual column support has been added. galera.galera_virtual_column.test has as first test a scenario from MDEV-21153 Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
-
Dmitry Shulga authored
MDEV-24577: Fix warnings generated during compilation of plugin/auth_pam/testing/pam_mariadb_mtr.c on FreeBSD Compiler warnings generated on building MariaDB server for BSD has the same reason as in case building is performed on MacOS. Both platforms do use clang as a C/C++ compiler. So, fix the compiler warnings in case the compiler is clang doesn't matter what kind of building platform do we use for building. This is a follow-up patch for the following bug reports: MDEV-23564: CMAKE failing due to deprecated Apple GSS method MDEV-23935: Fix warnings generated during compilation of plugin/auth_pam/testing/pam_mariadb_mtr.c on MacOS
-
Marko Mäkelä authored
-
Vlad Lesin authored
Do not init encryption threads if shutdown is in progress.
-
- 17 Jan, 2021 1 commit
-
-
Sergei Golubchik authored
-
- 15 Jan, 2021 5 commits
-
-
Monty authored
- Fix long lines to be <= 80 character - Trivial changes (no logic changes)
-
Monty authored
- Create_tmp_table::finalize didn't clear file after delete which could cause a double free. This is however not a likely problem as this code path is very unlikely to happen - free_tmp_table() could do handler calls even if the table was never opened. Fixed by adding a test if the table is opened.
-
Marko Mäkelä authored
The table performance_schema.events_transactions_history_long that was imported from MySQL 5.7.28 in commit 0ea717f5 may report bogus trx_id values for InnoDB transactions. innobase_register_trx(): Pass trx->id to trans_register_ha(), even if it is 0. It is more appropriate to report NULL than some arbitrary value that has been constructed from the address of a transaction identifier.
-
David Carlier authored
closes #1737 Reviewers: Marko Mäkelä, Krunal Bauskar
-
pkubaj authored
Fixes build on powerpc64 and powerpc64le. Closes: #1710
-
- 14 Jan, 2021 3 commits
-
-
Marko Mäkelä authored
Starting with MDEV-15528, we will avoid writing freed pages back to data files. During stress testing, the assertion mach_read_from_4(frame + 4U) == block.page.id().page_no() failed in log_phys_t::apply(), because before the server was killed and restarted, change buffer merge was executed on a previously freed page. During recovery, the assertion would fail when InnoDB would apply a FREE_PAGE and a WRITE record to the page. ibuf_merge_or_delete_for_page(): Before applying any changes, check whether the secondary index leaf page has already been freed according to the allocation bitmap page. If it is freed, then we must reset the bits in change buffer bitmap page. ibuf_reset_bitmap(): Auxiliary function for repeated code. mtr_t::sx_lock_space(): Replaces mtr_t::x_lock_space(). Due to the lazy approach of the change buffer, The function ibuf_merge_or_delete_for_page() may be executed in buf_page_create() while the tablespace is already X-latched. An S-latch must not be acquired while the thread already holds an X-latch, but a redundant SX-latch is fine. The fix was developed by Thirunarayanan Balathandayuthapani.
-
Jan Lindström authored
MDEV-22285 : Assertion `xid_seqno > wsrep_seqno' failed in trx_rseg_update_wsrep_checkpoint on SET @@global.wsrep_start_position Actual assertion mentioned on MDEV seems to be already fixed but setting seqno to -2 will trigger a different assertion mysqld: /home/jan/mysql/10.4-bugs/wsrep-lib/src/server_state.cpp:702: void wsrep::server_state::sst_received(wsrep::client_service&, int): Assertion `state_ == s_joiner || state_ == s_initialized' failed. Fixed this by not allowing user to set seqno < -1 (-1 is special seqno meaning undefined and seqno is initialized to it). MariaDB releases 10.2 and 10.3 already do not allow to set seqno < -1.
-
Dmitry Shulga authored
MDEV-23666: Assertion `m_cpp_buf <= ptr && ptr <= m_cpp_buf + m_buf_length' failed in Lex_input_stream::body_utf8_append On parsing statements for which a starting backtick (`) delimiter doesn't have a corresponding ending backtick, a current pointer to a position inside a pre-processed buffer could go beyond the end of the buffer. This bug report caused by the commit d4967659 "MDEV-22022 Various mangled SQL statements will crash 10.3 to 10.5 debug builds". In order to fix the issue both pointers m_ptr and m_cpp_ptr must be rolled back to previous position in raw input and pre-processed input streams correspondingly in case end of query reached during parsing.
-
- 13 Jan, 2021 3 commits
-
-
Marko Mäkelä authored
The parameter innodb_idle_flush_pct that was introduced in MariaDB Server 10.1.2 by MDEV-6932 has no effect ever since the InnoDB changes from MySQL 5.7.9 were applied in commit 2e814d47. Let us declare the parameter as MARIADB_REMOVED_OPTION. For earlier versions, commit ea9cd97f declared the parameter deprecated.
-
Rucha Deodhar authored
constellation Analysis: The decimals is set to NOT_FIXED_DEC for Field_str even if it is NULL. Unsigned has decimals=0. So Type_std_attributes::decimals is set to 39 (maximum between 0 and 39). This results in incorrect number of decimals when we have union of unsigned and NULL type. Fix: Check if the field is created from NULL value. If yes, set decimals to 0 otherwise set it to NOT_FIXED_DEC.
-
Jan Lindström authored
MDEV-18542 : galera_sr.galera-features#56: Test failure: signal 6; mysqltest: Can't connect to local MySQL server Make test faster
-