Issues
- MyRocks may cause data corruption after changes in RocksDB 7.10.0PS-9680Przemyslaw Skibinski
- ALTER INSTANCE RELOAD TLS results in a very long executionPS-9581Resolved issue: PS-9581
- MySQL crash during multiple DDL operations on separate schemasPS-9437
- MySQL 8.0.35 crash Semaphore wait has lasted > 600 secondsPS-9366Resolved issue: PS-9366
- MySQL Hangs on Installing RocksDB plugin when innodb_thread_concurrency=1PS-9359Resolved issue: PS-9359
- Not able to install percona server on amazon linux 2023PS-9290
- Alter table online results in "duplicate key" error on the primary key (only index)PS-9214Resolved issue: PS-9214Dmitry Lenev
- Upgrade process can be stopped by orphan data dictionary entries with no workaroundPS-9186Resolved issue: PS-9186
- MySQL Slow Log Rotation overwrites slow_log_file_pathPS-9156Resolved issue: PS-9156
- MySQL crash due to get a native index from get_mutex_cond in group replicationPS-9115Venkatesh Prasad
- User without performance_schema permissions crashes mysql with SHOW CREATE TABLE sys.metricsPS-9112
- SSL invalid paddingPS-9111Resolved issue: PS-9111
- Inaccurate Logging of Slow Query Rate in Percona MySQL 5.8PS-9109
- [ERROR] [MY-013183] [InnoDB] Assertion failure: ibuf0ibuf.cc:3833:ib::fatal triggered threadPS-9107Resolved issue: PS-9107Satya Bodapati
- Set admin_port in port being used does not throw errorPS-9102
- mysql-shell python mode can't import cryptography modulesPS-9101Aaditya Dubey
- performance_schema_show_processlist=1 causes show processlist to failPS-9100Resolved issue: PS-9100Aaditya Dubey
- Migration from keyring component to component does not workPS-9099
- myrocks table lost all data after alter table in IngestExternalFilePS-9097Resolved issue: PS-9097Aaditya Dubey
- Data inconsistencies when high rate of pages split/mergePS-9092Resolved issue: PS-9092Dmitry Lenev
- server crashes at 'SHOW CREATE VIEW' query after upgrading to 8.0.34-26PS-9090
- Unexpected results when using ASIN function with NULLIFPS-9085
- server crash when slow query log is on with additional variablesPS-9083Resolved issue: PS-9083Dmitry Lenev
- Assertion caused alternate time and DB gets freezed and does not respond.PS-9081
- ALTER TABLE ... ALGORITHM=INPLACE fails for table which is no longer encryptedPS-9075Resolved issue: PS-9075Kamil Holubicki
- Docker image fails with Docker Compose due to /var/lib/mysql permissions issuePS-9065Aaditya Dubey
- RANGE OPTIMIZER MEMORY USAGE INCREASES WITH MORE SECONDARY INDEXES!PS-9051
- Error 1048 when updating row with empty_sql mode on versions >= 8.0.27PS-9050
- Unexpected result related to CREATE INDEX and RADIANSPS-9049
- p_s.processlist table does not contain async replica threads after restartPS-9006
- Downstream binlog_transaction_compression_level_zstd bugfix in 8.0PS-8990
- Different behaviors between MYISAM and MEMORYPS-8987
- Re-Evaluate Technical Preview Statuses for the Released FeaturesPS-8981Resolved issue: PS-8981alina.derkach
- Percona server 8.0.28 crashes when traffic routed through ProxySQLPS-8906
- Upstream: OFFSET 99 LIMIT 1 on a compound PK takes ages to execute.PS-8809
- Assert: !dummy_big_rec on rollback of delete or update of row_format=compressed.PS-8784
- Savepoint recorded in mysqlbinlog with mysqldump and mysqlclientPS-8771
- Wrong path in the /etc/logrotate.d/mysql and /etc/my.cnf configuration filesPS-8731Resolved issue: PS-8731Hrvoje Matijakovic
- audit_log filters do not work as expectedPS-8724
- Performance regression with SELECT query when sorting on limited fieldsPS-8715
- Inconsistent results when closing optimization options of OptimizerPS-8652
MyRocks may cause data corruption after changes in RocksDB 7.10.0
Description
Environment
AFFECTED CS IDs
relates to
Details
Details
Assignee
Reporter
Labels
Needs QA
In progress time
Start date
Time tracking
Affects versions
Priority
Smart Checklist
Smart Checklist
Activity
Julia Vural February 26, 2025 at 5:48 PM
@Przemyslaw Skibinski created a branch with reverting the commit that caused the issue mentioned in this ticket. We are tracking the work for revert and asking customer to try it with ticket https://perconadev.atlassian.net/browse/PS-9698
Przemyslaw Skibinski February 19, 2025 at 1:29 PM
In PS 8.0.36 we upgraded MyRocks to percona-202305
which uses RocksDB v8.5.1
and this is the current version we are using.
I reverted https://github.com/facebook/rocksdb/commit/9502856edd that introduces a data corruption from RocksDB v8.5.1
and I'm surprised because:
code compiles without issues
all MTR tests work fine on my local machine (I only did 2 rewrites because of changed error descriptions)
Przemyslaw Skibinski February 19, 2025 at 7:50 AM
I reverted the commit that causes the issue in MyRocks.
The PS 8.0.34 branch available at https://github.com/percona/percona-server/tree/release-8.0.34-26_arm-fixed contains 2 fixes:
A fix for https://perconadev.atlassian.net/browse/PS-9667 backported from MySQL 8.0.37 -> not tested (only MTR tests)
A fix for https://perconadev.atlassian.net/browse/PS-9680 -> all MTR tests passed successfully on my local machine
We can get data corruption with
Invalid argument: Global seqno is required, but disabled
error even withoutrocksdb_bulk_load
(or usingrocksdb_bulk_load=0
) calling the following from many threads with differenttbl01
names :CREATE TABLE tbl01 (id1 int unsigned NOT NULL,id2 int unsigned NOT NULL,PRIMARY KEY (id1)) ENGINE=ROCKSDB INSERT INTO tbl01 VALUES (1, 1) ALTER TABLE tbl01 ADD INDEX secondary_key (id2) DROP TABLE tbl01
The full script for a stress test that reproduces the issue is at https://github.com/inikep/mysql-5.6/commit/206562b94
Meta said that this is an error in design and whole bulk loading needs to be rewritten. They have no plans to fix it in the near future.
The commit that causes the issue https://github.com/facebook/rocksdb/commit/9502856edd was introduced in RocksDB v7.10.0.
The desciption of the commit from Meta:
Fixed a data race bug of CompactRange() under change_level=true acts on overlapping range with an ongoing file ingestion for level compaction. This will either result in overlapping file ranges corruption at a certain level caught by force_consistency_checks=true or protentially two same keys both with seqno 0 in two different levels (i.e, new data ends up in lower/older level). The latter will be caught by assertion in debug build but go silently and result in read returning wrong result in release build. This fix is general so it also replaced previous fixes to a similar problem for CompactFiles() (#4665), general CompactRange() and auto compaction (commit 5c64fb6 and 87dfc1d).
Percona Server 8.0.33 updated MyRocks/RocksDB to 7.10.2 when Meta created a production tag
percona-202301
.It seems that MariaDB reverted from RocksDB v8.1.1 to v6.8.0 https://github.com/MariaDB/server/commit/49b5a2b3602e13a
It may be related to the issues described in this ticket.
Related JIRA: https://jira.mariadb.org/browse/MDEV-30610