diff options
author | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2023-01-25 12:36:57 +0530 |
---|---|---|
committer | Thirunarayanan Balathandayuthapani <thiru@mariadb.com> | 2023-01-25 12:43:47 +0530 |
commit | 1b4919cfc061e71fc9e573ab1e736bd01dd3fc8a (patch) | |
tree | fa069ef6df411b03a1fde508c6f620b11d8314eb | |
parent | 15226a2822a84d4ca56c99f236670f0e28ca1e5f (diff) | |
download | mariadb-git-bb-10.6-MDEV-30429.tar.gz |
MDEV-30429 InnoDB: Failing assertion: stat_value != UINT64_UNDEFINED in storage/innobase/dict/dict0stats.cc line 3647bb-10.6-MDEV-30429
In dict_stats_analyze_index(), InnoDB sets the maximum value for
index_stats_t to indicate the bulk under bulk insert operation.
But InnoDB fails to empty the statistics of the table in that case.
-rw-r--r-- | storage/innobase/dict/dict0stats.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/storage/innobase/dict/dict0stats.cc b/storage/innobase/dict/dict0stats.cc index 845f133f1a6..0d630583daa 100644 --- a/storage/innobase/dict/dict0stats.cc +++ b/storage/innobase/dict/dict0stats.cc @@ -3008,6 +3008,7 @@ dict_stats_update_persistent( index_stats_t stats = dict_stats_analyze_index(index); if (stats.is_bulk_operation()) { + dict_stats_empty_table(table, false); return DB_SUCCESS_LOCKED_REC; } @@ -3050,6 +3051,12 @@ dict_stats_update_persistent( stats = dict_stats_analyze_index(index); table->stats_mutex_lock(); + if (stats.is_bulk_operation()) { + table->stats_mutex_unlock(); + dict_stats_empty_table(table, false); + return DB_SUCCESS_LOCKED_REC; + } + index->stat_index_size = stats.index_size; index->stat_n_leaf_pages = stats.n_leaf_pages; |