- 05 Nov, 2019 1 commit
-
-
Alexander Barkov authored
-
- 04 Nov, 2019 5 commits
-
-
Marko Mäkelä authored
Something was wrong with the removal of pointer indirection, because on 32-bit Windows we got crash recovery failures. Curiously, WITH_ASAN of a 32-bit debug build did not notice anything. This reverts a part of commit b7fc2c89. We have a 2MiB recv_sys.buf for the initial buffering. The minimum size of log_sys.buf would be 16MiB, and that buffer should be practically unused during recovery. If the buffer pool size is measured in gigabytes, it would indeed make sense to use the buffer pool for the recovered log records, perhaps after we have run out of log_sys.buf. FIXME: allow the entire buf_block_t::frame to be used for buffered log records, and remove MEM_HEAP_FOR_RECV_SYS. For example, use buf_page_t::list or buf_page_t::LRU for keeping track of memory that was allocated for recovery? Most members of buf_block_t (except buf_block_t::frame) are unused when block->page.state == BUF_BLOCK_MEMORY.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Follow-up to commit 8965ae27: always initialize found_group.
-
Marko Mäkelä authored
recv_t, recv_t::data_t: Define constructors that copy the log records Ideally, we should remove recv_sys.buf, RECV_DATA_BLOCK_SIZE, and recv_sys_justify_left_parsing_buf(), and let the recv_sys.pages point directly to a buffer of parsed redo log records. The RECV_PARSING_BUF_SIZE (size of recv_sys.buf) is only 2MiB, while the minimum innodb_log_buffer_size (size of log_sys.buf) is 16MiB, and log_sys.buf is unused during redo log apply!
-
Marko Mäkelä authored
Except for fil_name_process(), which invokes os_normalize_path(), the redo log record parser will not modify the redo log records. Add const qualifiers accordingly.
-
- 03 Nov, 2019 2 commits
-
-
Sergei Golubchik authored
followup to 00c3a288
-
Sergei Golubchik authored
storage/innobase/log/log0recv.cc|1760 col 35 error| 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'struct recv_t' with no trivial copy-assignment [-Werror=class-memaccess]
-
- 01 Nov, 2019 3 commits
-
-
Marko Mäkelä authored
GCC 4.7 only knows about std::map::insert(), not emplace(). Also, reformat the function in the common style.
-
Marko Mäkelä authored
page_recv_t: Replaces recv_sys_t::recs_t. page_recv_t::state is not private, even though some accessors exist. page_recv_t::log: A singly-linked list of log_rec_t* with STL decoration and the custom operations trim() and append(). The list members are private. recv_t::data_t: Replaces recv_data_t. recv_t::data: Remove the pointer indirection for the first log chunk, and copy the first chunk directly after the record. Adjust the definition of RECV_DATA_BLOCK_SIZE accordingly.
-
Marko Mäkelä authored
In the collections of Standard Template Library, empty() is a predicate and clear() empties a collection. Let us rename recv_sys.empty() to recv_sys.clear() to avoid confusion.
-
- 31 Oct, 2019 2 commits
-
-
Sergei Golubchik authored
simplify type naming (less boilerplate code). don't force a plugin to specify the name twice.
-
Sergei Golubchik authored
typos, comments
-
- 30 Oct, 2019 4 commits
-
-
Monty authored
-
Alexander Barkov authored
-
Alexander Barkov authored
In order to: - unify sql_yacc.yy and sql_yacc_ora.yy easier - move more functionality from the parser to Type_handler (so plugins can override the behavior) this patch: - removes rules sp_param_field_type_string and sp_param_field_type from sql_yacc_ora.yy - adds a new virtial method Type_handler::Column_definition_set_attributes()
-
Marko Mäkelä authored
ut_strcmp(), ut_strcpy(), ut_strlen(), ut_memcpy(), ut_memcmp(), ut_memmove(): Remove. Invoke the standard library functions directly.
-
- 29 Oct, 2019 5 commits
-
-
Eugene Kosov authored
TODO: do not use fil_* functions for redo log files. log_t::checkpoint_lock: remove this lock which was used to wait for async I/O completion. checkpoint_lock_key checkpoint_lock: remove now unneeded globals log_write_checkpoint_info(): remove sync argument because all checkpoint writes are synchronous now log_write_checkpoint_info(): remove sync argument log_group_checkpoint(): merge with the only caller log_complete_checkpoint(): merge with the only caller log_t::complete_checkpoint(): remove by merging with the only caller.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
Adding the missing grammar.
-
Alexander Barkov authored
Fixing unintentionally diverged parts: - syncing indentation - syncing "unlikely" - syncyning missing new lines - fixing typos
-
- 28 Oct, 2019 8 commits
-
-
Marko Mäkelä authored
The test rpl.rpl_failed_drop_tbl_binlog exercises a scenario where the adaptive hash index is enabled. Try to explicitly enable the adaptive hash index for this test, and skip the test if it does not succeed (that is, if the server was not built WITH_INNODB_AHI=ON).
-
Sergei Golubchik authored
Don't assume that passwords (and other conv replies) are zero-terminated. If they are, though, strndup() down below will take care of that.
-
Marko Mäkelä authored
Historically, InnoDB split the redo log into at least 2 files. MDEV-12061 allowed the minimum to be innodb_log_files_in_group=1, but it kept the default at innodb_log_files_in_group=2. Because performance seems to be slightly better with only one log file, and because implementing an append-only variant of the log would require a single file, let us define the default to be 1, and have innodb_log_file_size=96M, to retain the same default total size.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
clang warns if only some overridden member functions in a class are tagged with the C++11 override keyword. Add the missing keywords.
-
Marko Mäkelä authored
Remove redundant NULL checks for __attribute__((nonnull)) parameters, because clang warns about them.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
This reverts commit 2b5f4b3e due to build failures.
-
- 25 Oct, 2019 1 commit
-
-
Jan Lindström authored
-
- 24 Oct, 2019 2 commits
-
-
Daniele Sciascia authored
Update wsrep-lib, and adapt to wsrep-lib interface changes.
-
Alexander Barkov authored
-
- 23 Oct, 2019 3 commits
-
-
Marko Mäkelä authored
Based on the performance testing that was conducted in MDEV-17492, the InnoDB adaptive hash index could only help performance in specific, almost-read-only workloads. It could slow down all kinds of workloads (especially DROP TABLE, TRUNCATE TABLE, ALTER TABLE, or DROP INDEX operations), and it can become corrupted, causing crashes (such as MDEV-18815, MDEV-20203) and possibly data corruption. Furthermore, the adaptive hash index consumes space from the InnoDB buffer pool, which could hurt performance when the working set would almost fit in the buffer pool. Given all this, it is best to disable the adaptive hash index by default.
-
Jan Lindström authored
Ignore warning.
-
Jan Lindström authored
Changes to be committed: modified: mysql-test/suite/galera_sr/disabled.def modified: mysql-test/suite/galera_sr/r/GCF-561.result modified: mysql-test/suite/galera_sr/r/galera_sr_ddl_master.result modified: mysql-test/suite/galera_sr/r/galera_sr_kill_query.result modified: mysql-test/suite/galera_sr/r/galera_sr_shutdown_slave.result new file: mysql-test/suite/galera_sr/suite.pm modified: mysql-test/suite/galera_sr/t/GCF-561.test modified: mysql-test/suite/galera_sr/t/galera_sr_ddl_master.test modified: mysql-test/suite/galera_sr/t/galera_sr_kill_query.test modified: mysql-test/suite/galera_sr/t/galera_sr_shutdown_slave.test
-
- 20 Oct, 2019 4 commits
-
-
Monty authored
Test should die if innodb_compression_algorithm=3 doesn't exists
-
Monty authored
Fixes MDEV-18067, MDEV-18068 and MDEV-18069 The problem was that FLUSH TABLES table_name combined with UNLOCK TABLES calls MDL_context::set_transaction_duration_for_all_locks(), which changed backup_locks from MDL_EXPLICT to MDL_TRANSACTION. Fixed by ensuring that set_transaction_duration_for_all_locks() doesn't touch BACKUP locks.
-
Monty authored
-
Monty authored
-