Document new features in percona-202107 to percona-202109
General
Escalation
General
Escalation
Description
Environment
None
Smart Checklist
Activity
Show:
alina.derkach June 10, 2022 at 3:21 PM
alina.derkach May 17, 2022 at 2:23 PM
Fix for 8.0.29-21.NEXT
Done
Details
Details
Assignee
alina.derkach
alina.derkachReporter
Przemyslaw Skibinski
Przemyslaw SkibinskiComponents
Fix versions
Priority
Smart Checklist
Open Smart Checklist
Smart Checklist

Open Smart Checklist
Created May 17, 2022 at 1:51 PM
Updated March 6, 2024 at 10:09 AM
Resolved August 8, 2022 at 2:52 PM
https://github.com/percona/percona-server/pull/4785
add instant flag
This change will return INSTANT_ADD_COLUMN from myrocks layer to sql layer.
Details:
1. add rocksdb_instant_ddl variables to enable/disable instant ddl for rocksdb globally.
2. add rocksdb_support_instant() to check whether alter statement is can be instant-ddl
Added the support for myrocks tmp table.
Generated tmp table index ids from new series which is different from regular tables. This series will always start from 1 again after restart.
Added 2 new column families i.e "tmp" and "tmp_system" for storing tmp table tables and tmp tables dict data. These cfs are dropped and recreated again as part of cf_manager::init.
Rdb_dict_manager_selector stores all the dict_manager and returns the correct dict_manager according to cf_id.
Entire new code is under rocksdb_enable_tmp_table which will be used to turn on/off feature. Added asserts to verify we are not invoking tmp_dict_manager if rocksdb_enable_tmp_table is off. Few exceptions include tmp cf cleanup and reseting cf handler list which should work for regular cases also.
Used the tablename passed in ddl commands to select if the give table is tmp table or user table. Then respective cf_id is generated.
New variables:
1. Change default value of "rocksdb_force_flush_memtable_now" from OFF to ON.
2. Add a new variable "rocksdb_instant_ddl":
:dyn: Yes :scope: Global :vartype: Bool :default: OFF Allow instant ddl during alter table.
3. Add a new variable "rocksdb_enable_tmp_table":
:dyn: No :scope: Global :vartype: Bool :default: OFF Allow rocksdb tmp tables.