- 22 May, 2019 6 commits
- 21 May, 2019 29 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
-
Sergey Vojtovich authored
Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
Part of MDEV-19515 - Improve connect speed
-
Sergey Vojtovich authored
abort_loop is intended to break accepting connections loop in main thread, however it is being used for other purposes. cache_thread() is governed by kill_cached_threads, no need to check abort_loop here. Check in create_new_thread() is redundant, abort_loop already checked by caller. Part of MDEV-19515 - Improve connect speed
-
Robert Bindar authored
-
Gagan Goel authored
This commit adds a new feature to the server to add comments at the database level. 1024 bytes is the maximum comment length allowed. If the comment length exceeds this limit, a new error/warning code 4144 is thrown, based on whether thd->is_strict_mode() is true/false. The database comment is also added to the db.opt file, as well as to the information_schema.schemata table.
-
- 16 May, 2019 1 commit
-
-
Monty authored
-
- 15 May, 2019 3 commits
-
-
Jan Lindström authored
Make sure that SIGNALs are not overwritten before they are received.
-
Oleksandr Byelkin authored
-
Varun Gupta authored
-
- 14 May, 2019 1 commit
-
-
Sergey Vojtovich authored
Use different signal names, so that subsequent WAIT_FOR is not awaken by previous signal.
-