Skip to content

Recycle Bin crash issue #38

@ukzz1

Description

@ukzz1

Good evening. We encountered an issue in production. We enabled the recycle bin in production, but it crashed when an operator accidentally deleted a database and used the recycle bin function. We found that it seems to crash immediately when restoring more than 20 tables at once. Initially, it worked fine during our tests, probably because we were only testing with a few tables. Below is the process of reproducing the issue.

-- SQL Start --

CREATE DATABASE IF NOT EXISTS sbtest
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_0900_ai_ci;
USE sbtest;

SET FOREIGN_KEY_CHECKS = 0;

-- sbtest1 ~ sbtest30
CREATE TABLE IF NOT EXISTS sbtest1 (
id INT NOT NULL AUTO_INCREMENT,
k INT NOT NULL DEFAULT 0,
c CHAR(120) NOT NULL DEFAULT '',
pad CHAR(60) NOT NULL DEFAULT '',
PRIMARY KEY (id),
KEY idx_k (k)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS sbtest2 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest3 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest4 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest5 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest6 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest7 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest8 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest9 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest10 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest11 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest12 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest13 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest14 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest15 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest16 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest17 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest18 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest19 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest20 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest21 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest22 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest23 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest24 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest25 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest26 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest27 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest28 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest29 LIKE sbtest1;
CREATE TABLE IF NOT EXISTS sbtest30 LIKE sbtest1;

SET FOREIGN_KEY_CHECKS = 1;

USE sbtest;

SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE IF EXISTS
sbtest1, sbtest2, sbtest3, sbtest4, sbtest5,
sbtest6, sbtest7, sbtest8, sbtest9, sbtest10,
sbtest11, sbtest12, sbtest13, sbtest14, sbtest15,
sbtest16, sbtest17, sbtest18, sbtest19, sbtest20,
sbtest21, sbtest22, sbtest23, sbtest24, sbtest25,
sbtest26, sbtest27, sbtest28, sbtest29, sbtest30;

SET FOREIGN_KEY_CHECKS = 1;

show recycle_bin;

restore database sbtest from recycle_bin;

-- SQL End --

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions