- 23 May, 2019 4 commits
-
-
Marko Mäkelä authored
The parameter innodb_log_checksums that was introduced in MariaDB 10.2.2 via mysql/mysql-server@af0acedd885eb7103e319f79d25fda7386ef1506 does not make much sense. The original motivation of introducing this parameter (initially called innodb_log_checksum_algorithm in mysql/mysql-server@22ba38218e1d76c24f69b5a5595ad3bf5933acb0) was that the InnoDB redo log used the slow and insecure innodb algorithm. With hardware or SIMD accelerated CRC-32C, there should be no reason to allow checksums to be disabled on the redo log. The parameter innodb_encrypt_log already implies innodb_log_checksums=ON. Let us deprecate the parameter innodb_log_checksums and always compute redo log checksums, even if innodb_log_checksums=OFF is specified. An upgrade from MariaDB 10.2.2 or later will only be possible after using the default value innodb_log_checksums=ON. If the non-default value innodb_log_checksums=OFF was in effect when the server was shut down, a log block checksum mismatch will be reported and the upgraded server will fail to start up.
-
Marko Mäkelä authored
maria_open(): Initialize share->mode=0 for S3
-
Marko Mäkelä authored
The test result was affected by commit 007f68c3 but the adjustment was inadvertently omitted.
-
Alexander Barkov authored
-
- 22 May, 2019 12 commits
-
-
Monty authored
To get a stacktrace in a program like aria_chk, one only have to do: #include <my_stacktrace.h> call my_init_stacktrace(1) in main().
-
Monty authored
A read-only storage engine that stores it's data in (aws) S3 To store data in S3 one could use ALTER TABLE: ALTER TABLE table_name ENGINE=S3 libmarias3 integration done by Sergei Golubchik libmarias3 created by Andrew Hutchings
-
Sergei Golubchik authored
-
Monty authored
Removed not needed table renames when doing ALTER TABLE when engine changes and both of the following is true: - Either new or old engine does not store the table in files - Neither old or new engine uses files from another engine We also skip renames when ALTER TABLE does an explicit rename This improves performance, especially for engines where rename is a slow operation (like the upcoming S3 engine)
-
Monty authored
Discoverred to be needed by the upcoming S3 engine
-
Monty authored
Reason for the change was that ha_notify_table_changed() was done after table open when .frm had been replaced, which caused failure in engines that checks on open if .frm matches the engines table definition. Other changes: - Remove not needed open/close call at end of inline alter table. Some test that depended on the table beeing in the table cache after ALTER TABLE had to be updated.
-
Monty authored
-
Monty authored
This was done to match the naming of the ALTER #sql-#-# tmp files
-
Monty authored
-
Monty authored
-
Monty authored
-
Marko Mäkelä authored
-
- 21 May, 2019 24 commits
-
-
Sergey Vojtovich authored
-
Sergey Vojtovich authored
No need to initialize socket_accept, it always gets assigned a value. Pass addr_len directly to accept(). Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Removed LOCK_connection_count. Removed duplicate denied_connections and connection_errors_max_connection increment from create_new_thread(). Another increment done by CONNECT::close_with_error(). Simplified away CONNECT::thread_count_incremented. Now close_with_error() is always called with connection_count incremented. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
cached_thread_count can handle it alone. Added "fast path": when thread is being added to the cache and there's queued connection request, serve it immediately. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
It mostly duplicates code of do_handle_one_connection(). Move it there, so that it is easier to simplify it in future. Moved PSI_CALL_delete_current_thread()/_db_pop_() out of mutex. Call them consistently in all cases, unlike before: - called for reused threads - called for flushed threads - called for threads that go down after 5 minutes timeout - not called for threads attempting to cache themselves during flush - not called for threads attempting to cache themselves when cache is full Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Code properly integrated into callers instead. do_handle_one_connection(): no need to reset thd and thd->thread_stack as they're not updated by cache_thread(). Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
It was meaningful only for one-thread-per-connection scheduler anyway, so call init_new_connection_handler_thread() directly from handle_one_connection(). It was somewhat harmful for no-threads scheduler, because it'd attempt to detach main thread on AIX_3_2 and Siemens unix (and DEC OSF/1 3.2 too). Also it does duplicate my_thread_init() call, which may produce a warning under EXTRA_DEBUG_THREADS. start_wsrep_THD() shouldn't have called it at all: it already detached and called my_thread_init(). Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Gives ~10% throughput improvemet in sysbench connect benchmark. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Gives ~3% throughput improvemet in sysbench connect benchmark. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Rather than iterating global plugin collection, iterate THD local collection. Removes two LOCK_plugin locks per connection. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Use thd_get_ha_data()/thd_set_ha_data() which protect against plugin removal until it has THD ha_data. Do not reset THD ha_data in rocksdb_close_connection(), cleaner approach is to let ha_close_connection() do it. Removed transaction objects cleanup from rocksdb_done_func(). As we lock plugin properly, there must be no transaction objects during RocksDB shutdown. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Use thd_get_ha_data()/thd_set_ha_data() which protect against plugin removal until it has THD ha_data. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Use thd_get_ha_data()/thd_set_ha_data() which protect against plugin removal until it has THD ha_data. Do not reset THD ha_data in sphinx_close_connection(), cleaner approach is to let ha_close_connection() do it. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Use thd_get_ha_data()/thd_set_ha_data() which protect against plugin removal until it has THD ha_data. Do not reset THD ha_data in mrn_close_connection(), cleaner approach is to let ha_close_connection() do it. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Do not reset THD ha_data in spider_close_connection(), cleaner approach is to let ha_close_connection() do it. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Use thd_get_ha_data()/thd_set_ha_data() which protect against plugin removal until it has THD ha_data. Do not reset THD ha_data in ha_federatedx::disconnect(), cleaner approach is to let ha_close_connection() do it. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
It was wrong anyway, as it may not get updated by the time created thread reads it. And it was 0 for cached threads. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
It may be beneficial for slow-path, where new thread is to be created. However it is harmful for fast-path, where thread cache can fulfil request: it caused 2 extra loads of write-contended variables. Also shrink variables scope. Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Removed FD_CLOEXEC setting: already done by mysql_socket_accept(). Moved O_NONBLOCK setting out of accepting loop. Removed blocking acceptance attempt, which was dead code. It was supposed to be executed before the last iteration, however it was actually executed during the last iteration. And it is not correct to block on one socket leaving other sockets unattended anyway. Gives ~5% throughput improvemet in sysbench connect benchmark. Part of MDEV-19515 - Improve connect speed
-