- 05 Nov, 2017 3 commits
-
-
Monty authored
This was done to get more information about where time is spent. Now we can get proper timing for time spent in commit, rollback, binlog write etc. Following stages was added: - Commit - Commit_implicit - Rollback - Rollback implicit - Binlog write - Init for update - This is used instead of "Init" for insert, update and delete. - Staring cleanup Following stages where changed: - "Unlocking tables" stage reset stage to previous stage at end - "binlog write" stage resets stage to previous stage at end - "end" -> "end of update loop" - "cleaning up" -> "Reset for next command" - Added stage_searching_rows_for_update when searching for rows to be deleted. Other things: - Renamed all stages to start with big letter (before there was no consitency) - Increased performance_schema_max_stage_classes from 150 to 160. - Most of the test changes in performance schema comes from renaming of stages. - Removed duplicate output of variables and inital state in a lot of performance schema tests. This was done to make it easier to change a default value for a performance variable without affecting all tests. - Added start_server_variables.test to check configuration - Removed some duplicate "closing tables" stages - Updated position for "stage_init_update" and "stage_updating" for delete, insert and update to be just before update loop (for more exact timing). - Don't set "Checking permissions" twice in a row. - Remove stage_end stage from creating views (not done for create table either). - Updated default performance history size from 10 to 20 because of new stages - Ensure that ps_enabled is correct (to be used in a later patch)
-
Monty authored
-
Alexander Barkov authored
-
- 04 Nov, 2017 1 commit
-
-
Marko Mäkelä authored
-
- 03 Nov, 2017 2 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
MDEV-14269 errors.test fails with valgrind (Conditional jump or move depends on uninitialised value)
-
- 02 Nov, 2017 8 commits
-
-
Igor Babaev authored
in joined table + GROUP BY + GROUP_CONCAT + HAVING + ORDER BY [by field from HAVING] + 1 row expected The fix is actually a port of the fix for bug #17055185 from mysql code line (see commit f289aeeef0743508ff87211084453b3b88a6d017 by Mithun C Y into mysql-5.6). The test case for the bug #17055185 was also ported.
-
Monty authored
- The valgrind warning came from JOIN::optimize() (sql_select.cc:1123)
-
Monty authored
-
Monty authored
- Allocate only enough memory that we need for key status - Saves ~100K temp usage on maria_open
-
Monty authored
The background is that one user had a lot of views and using some complex queries on information schema temporary memory of more than 2G was used. - Added new element 'total_alloc' to MEM_ROOT for easier debugging. - Added MAX_MEMORY_USED to information_schema.processlist. - Added new status variable "Memory_used_initial" that shows how much MariaDB uses at startup. This gives the base value for "Memory_used". - Reuse memory continuously for information schema queries instead of only freeing memory at query end. Other things - Removed some not needed set_notnull() calls for not null columns.
-
Vladislav Vaintroub authored
-
Marko Mäkelä authored
os_file_set_size(): If posix_fallocate() returns EINVAL, fall back to writing zero bytes to the file. Also, remove some error log output, and make it possible for a server shutdown to interrupt the fall-back code. MariaDB 10.2 used to handle the EINVAL return value from posix_fallocate() before commit b731a5bc which refactored os_file_set_size() to try posix_fallocate(). Why is the EINVAL returned? The GNU posix_fallocate() function would first try the fallocate() system call, which would return -EOPNOTSUPP for many file systems (notably, not ext4). Then, it would fall back to extending the file one block at a time by invoking pwrite(fd, "", 1, offset) where offset is 1 less than a multiple of the file block size. This would fail with EINVAL if the file is in O_DIRECT mode, because O_DIRECT requires aligned operation.
-
Monty authored
The failing test was main.gis-json
-
- 01 Nov, 2017 3 commits
-
-
Marko Mäkelä authored
-
Monty authored
- Expand paths also for jemalloc - Test also if tcmalloc or jemalloc is in /usr/lib64 - Take into account that .so has a version - Remove automatic adding of flavors ( _minial, _debug). Better to have user specify these directly - Changed documentation link to MariaDB - Don't give extra error if mysqld_safe_helper doesn't exist
-
Marko Mäkelä authored
-
- 31 Oct, 2017 7 commits
-
-
Daniel Bartholomew authored
-
Monty authored
Also don't abort if global_status_var.global_memory_used != 0 on not normal exit as then it's likely that not all memory is released.
-
Monty authored
-
Marko Mäkelä authored
MDEV-13568: Purge is not blocked by LOCK TABLES. Should it? MDEV-13893/MDEV-12699: Crash recovery of corrupted or non-decryptable pages is broken.
-
Daniel Black authored
Signed-off-by: Daniel Black <daniel@linux.vnet.ibm.com>
-
Marko Mäkelä authored
-
Marko Mäkelä authored
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.
-
- 30 Oct, 2017 10 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
If InnoDB or XtraDB recovered committed transactions at server startup, but the processing of recovered transactions was prevented by innodb_read_only or by innodb_force_recovery, an assertion would fail at shutdown. This bug was originally reproduced when Mariabackup executed InnoDB shutdown after preparing (applying redo log into) a backup. trx_free_prepared(): Allow TRX_STATE_COMMITTED_IN_MEMORY. trx_undo_free_prepared(): Allow any undo log state. For transactions that were resurrected in TRX_STATE_COMMITTED_IN_MEMORY the undo log state would have been reset by trx_undo_set_state_at_finish().
-
Daniel Bartholomew authored
-
Alexander Barkov authored
-
Alexey Botchkov authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
MDEV-13997 Change Item_bool_rowready_func2 to cache const items at fix time rather than evaluation time Side effect: the second debug Note in cache_temporal_4265.result disappeared. Before this change: - During JOIN::cache_const_exprs(), Item::get_cache() for Item_date_add_interval() was called. The data type for date_add('2001-01-01',interval 5 day) is VARCHAR, because the first argument is VARCHAR (not temporal). Item_get_cache() created Item_cache_str('2001-01-06'). - During evaluate_join_record(), get_datetime_value() was called, which called Item::get_date() for Item_cache_str('2001-01-06'). This gave the second Note. Then, get_datetime_value() created a new cache, now Item_cache_temporal for '2001-01-06', so not further str_to_datetime() happened. After this change: - During tem_bool_rowready_func2::fix_length_and_dec(), Arg_comparator::set_cmp_func_datetime() is called, which immediately creates an instance of Item_cache_date for the result of date_add('2001-01-01',interval 5 day). So later no str_to_datetime happens any more, neither during JOIN::cache_const_exprs(), nor during evaluate_join_record().
-
Alexander Barkov authored
-
Elena Stepanova authored
-
Elena Stepanova authored
-
- 29 Oct, 2017 6 commits
-
-
Sergei Petrunia authored
Forgot to put the updated rocksdb.result in
-
Sergei Petrunia authored
Downscale rocksdb.add_index_inplace_sstfilewriter to be 10x smaller
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Fix a race condition in the testcase.
-
Sergei Petrunia authored
-