diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2020-08-03 13:41:29 +0200 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2020-08-03 13:41:29 +0200 |
commit | c32f71af7e4b747de223bf6b44e691941f5997cf (patch) | |
tree | 03270b9a849e165f1c8605102ee06bced2331477 /storage/innobase | |
parent | 4d41f316c3c1c05fdd35cbdc1b626d596b89af40 (diff) | |
parent | 555c6632c69d707cc1641ef396e7b66a65f14bdc (diff) | |
download | mariadb-git-c32f71af7e4b747de223bf6b44e691941f5997cf.tar.gz |
Merge branch '10.2' into 10.3
Diffstat (limited to 'storage/innobase')
-rw-r--r-- | storage/innobase/buf/buf0lru.cc | 2 | ||||
-rw-r--r-- | storage/innobase/fts/fts0fts.cc | 6 | ||||
-rw-r--r-- | storage/innobase/handler/ha_innodb.cc | 22 | ||||
-rw-r--r-- | storage/innobase/sync/sync0arr.cc | 3 |
4 files changed, 14 insertions, 19 deletions
diff --git a/storage/innobase/buf/buf0lru.cc b/storage/innobase/buf/buf0lru.cc index 595b6d4765f..d3bba9a1130 100644 --- a/storage/innobase/buf/buf0lru.cc +++ b/storage/innobase/buf/buf0lru.cc @@ -861,7 +861,7 @@ buf_LRU_check_size_of_non_data_objects( + UT_LIST_GET_LEN(buf_pool->LRU)) < buf_pool->curr_size / 3) { - if (!buf_lru_switched_on_innodb_mon) { + if (!buf_lru_switched_on_innodb_mon && srv_monitor_event) { /* Over 67 % of the buffer pool is occupied by lock heaps or the adaptive hash index. This may be a memory diff --git a/storage/innobase/fts/fts0fts.cc b/storage/innobase/fts/fts0fts.cc index bf0f2da30df..0a10aadc97c 100644 --- a/storage/innobase/fts/fts0fts.cc +++ b/storage/innobase/fts/fts0fts.cc @@ -1105,9 +1105,6 @@ fts_cache_clear( index_cache->doc_stats = NULL; } - mem_heap_free(static_cast<mem_heap_t*>(cache->sync_heap->arg)); - cache->sync_heap->arg = NULL; - fts_need_sync = false; cache->total_size = 0; @@ -1115,6 +1112,9 @@ fts_cache_clear( mutex_enter((ib_mutex_t*) &cache->deleted_lock); cache->deleted_doc_ids = NULL; mutex_exit((ib_mutex_t*) &cache->deleted_lock); + + mem_heap_free(static_cast<mem_heap_t*>(cache->sync_heap->arg)); + cache->sync_heap->arg = NULL; } /*********************************************************************//** diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc index d458d415c1c..139fd56ab61 100644 --- a/storage/innobase/handler/ha_innodb.cc +++ b/storage/innobase/handler/ha_innodb.cc @@ -4314,16 +4314,7 @@ innobase_commit_low( const bool is_wsrep = trx->is_wsrep(); THD* thd = trx->mysql_thd; if (is_wsrep) { -#ifdef WSREP_PROC_INFO - char info[64]; - info[sizeof(info) - 1] = '\0'; - snprintf(info, sizeof(info) - 1, - "innobase_commit_low():trx_commit_for_mysql(%lld)", - (long long) wsrep_thd_trx_seqno(thd)); - tmp = thd_proc_info(thd, info); -#else tmp = thd_proc_info(thd, "innobase_commit_low()"); -#endif /* WSREP_PROC_INFO */ } #endif /* WITH_WSREP */ if (trx_is_started(trx)) { @@ -18653,11 +18644,14 @@ static void innodb_status_output_update(THD*,st_mysql_sys_var*,void*var,const void*save) { - *static_cast<my_bool*>(var) = *static_cast<const my_bool*>(save); - mysql_mutex_unlock(&LOCK_global_system_variables); - /* Wakeup server monitor thread. */ - os_event_set(srv_monitor_event); - mysql_mutex_lock(&LOCK_global_system_variables); + *static_cast<my_bool*>(var)= *static_cast<const my_bool*>(save); + if (srv_monitor_event) + { + mysql_mutex_unlock(&LOCK_global_system_variables); + /* Wakeup server monitor thread. */ + os_event_set(srv_monitor_event); + mysql_mutex_lock(&LOCK_global_system_variables); + } } /** Update the system variable innodb_encryption_threads. diff --git a/storage/innobase/sync/sync0arr.cc b/storage/innobase/sync/sync0arr.cc index 8e26de10dec..2f9f0a49986 100644 --- a/storage/innobase/sync/sync0arr.cc +++ b/storage/innobase/sync/sync0arr.cc @@ -1075,7 +1075,8 @@ sync_array_print_long_waits( sync_array_exit(arr); } - if (noticed) { + if (noticed && srv_monitor_event) { + fprintf(stderr, "InnoDB: ###### Starts InnoDB Monitor" " for 30 secs to print diagnostic info:\n"); |