If you create a RocksDB table with rocksdb_enable_native_partition=on and restart the instance without the parameter, the instance crashes upon trying to read the table.

Description

Similar behavior to https://jira.percona.com/browse/PS-5809, but with RocksDB engine. 

To upgrade Percona Server for MySQL 5.7 to 8.0, you need to have all RocksDB tables using native partitioning. 

If you create a RodcksDB table using native partitioning and then you disable rocksdb_enable_native_partition, MySQL crashes when attempting to read the partitions with the following stack trace:

 

Steps to reproduce:

On a PS with RocksDB installed:

1 - edit my.cnf and add under [mysqld]

2 - restart the mysql 

3 - Check that rocksdb native partitioning is enabled: 

 4 - Create RocksDB partitioned table: 

 5 - Go on your my.cnf and remove the line added on step 1:

6 - Restart MySQL 

7 - Check native partitioning is OFF: 

 7 - Try to access the database the table was created at:

 

MySQL will crash at this point.

 

Workaround available:

Re-add rocksdb_enable_native_partition=on to the my.cnf and restart the instance. 

 

Suggested behavior:

Maybe throw an error when trying to read that table but keep the instance up. Or, if the decision is to have MySQL shutdown when the table is not accessible, then throw an error and shutdown cleanly. 

Other option, if possible, is to check if the table was created with native partitioning and try to read it that way before crashing.

 

Environment

None

Smart Checklist

Activity

Show:

Julia Vural March 4, 2025 at 9:09 PM

It appears that this issue is no longer being worked on, so we are closing it for housekeeping purposes. If you believe the issue still exists, please open a new ticket after confirming it's present in the latest release.

Won't Do

Details

Assignee

Reporter

Components

Affects versions

Priority

Smart Checklist

Created July 29, 2019 at 7:42 PM
Updated March 4, 2025 at 9:09 PM
Resolved March 4, 2025 at 9:09 PM