mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 17:54:16 +01:00
MDEV-21954 mysqld got signal 11 Fatal signal 6 while backtracing on parallel show global status
protect global toku_global_status_rows with a mutex
This commit is contained in:
parent
54c521ca33
commit
c4f8ccc0f5
1 changed files with 3 additions and 0 deletions
|
@ -26,6 +26,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
|
|||
|
||||
#include "hatoku_hton.h"
|
||||
#include "PerconaFT/src/ydb.h"
|
||||
#include <mutex>
|
||||
|
||||
#define TOKU_METADB_NAME "tokudb_meta"
|
||||
|
||||
|
@ -239,6 +240,7 @@ tokudb::thread::rwlock_t tokudb_hton_initialized_lock;
|
|||
static SHOW_VAR *toku_global_status_variables = NULL;
|
||||
static uint64_t toku_global_status_max_rows;
|
||||
static TOKU_ENGINE_STATUS_ROW_S* toku_global_status_rows = NULL;
|
||||
static std::mutex toku_global_status_rows_mutex;
|
||||
|
||||
static void handle_ydb_error(int error) {
|
||||
switch (error) {
|
||||
|
@ -1902,6 +1904,7 @@ static int show_tokudb_vars(TOKUDB_UNUSED(THD* thd),
|
|||
const int panic_string_len = 1024;
|
||||
char panic_string[panic_string_len] = {'\0'};
|
||||
fs_redzone_state redzone_state;
|
||||
const std::lock_guard<std::mutex> lock(toku_global_status_rows_mutex);
|
||||
|
||||
uint64_t num_rows;
|
||||
error = db_env->get_engine_status(
|
||||
|
|
Loading…
Add table
Reference in a new issue