[bugfix] add latest_row_store_type in sstable meta to calculate merge type for compaction

This commit is contained in:
saltonz
2023-02-10 03:41:41 +00:00
committed by ob-robot
parent 1b01fc8fe3
commit b889a69fbb
22 changed files with 78 additions and 32 deletions

View File

@ -528,6 +528,7 @@ void ObMultiVersionSSTableTest::prepare_data_end(
param.progressive_merge_step_ = 0;
param.table_mode_ = table_schema_.get_table_mode_struct();
param.index_type_ = table_schema_.get_index_type();
param.latest_row_store_type_ = table_schema_.get_row_store_type();
param.rowkey_column_cnt_ = table_schema_.get_rowkey_column_num()
+ ObMultiVersionRowkeyHelpper::get_extra_rowkey_col_cnt();

View File

@ -246,6 +246,7 @@ void TestSSTableMeta::prepare_create_sstable_param()
param_.root_block_addr_.set_none_addr();
param_.data_block_macro_meta_addr_.set_none_addr();
param_.root_row_store_type_ = ObRowStoreType::FLAT_ROW_STORE;
param_.latest_row_store_type_ = ObRowStoreType::FLAT_ROW_STORE;
param_.data_index_tree_height_ = 0;
param_.index_blocks_cnt_ = 0;
param_.data_blocks_cnt_ = 0;
@ -547,6 +548,7 @@ TEST_F(TestMigrationSSTableParam, test_migrate_sstable)
src_sstable_param.root_block_addr_.set_none_addr();
src_sstable_param.data_block_macro_meta_addr_.set_none_addr();
src_sstable_param.root_row_store_type_ = ObRowStoreType::FLAT_ROW_STORE;
src_sstable_param.latest_row_store_type_ = ObRowStoreType::FLAT_ROW_STORE;
src_sstable_param.data_index_tree_height_ = 0;
src_sstable_param.index_blocks_cnt_ = 0;
src_sstable_param.data_blocks_cnt_ = 0;

View File

@ -46,7 +46,8 @@ public:
sstable.key_.tablet_id_ = 1;
sstable.key_.scn_range_.start_scn_.convert_for_gts(start_log_ts);
sstable.key_.scn_range_.end_scn_.convert_for_gts(end_log_ts);
sstable.meta_.basic_meta_.row_store_type_ = ObRowStoreType::FLAT_ROW_STORE;
sstable.meta_.basic_meta_.root_row_store_type_ = ObRowStoreType::FLAT_ROW_STORE;
sstable.meta_.basic_meta_.latest_row_store_type_ = ObRowStoreType::FLAT_ROW_STORE;
sstable.valid_for_reading_ = true;
sstable.meta_.basic_meta_.status_ = SSTABLE_WRITE_BUILDING;
sstable.meta_.data_root_info_.addr_.set_none_addr();