push the memtable whose end_max_scn is 0 from max_end_scn to start_scn + 1 for replay multi-transaction commit log

This commit is contained in:
obdev
2023-05-11 13:58:38 +00:00
committed by ob-robot
parent c25187b07c
commit cf5be5d6f4
2 changed files with 13 additions and 8 deletions

View File

@ -537,11 +537,12 @@ TEST_F(TestMemtable, test_mds_commit_to_empty_memtable)
share::SCN scn;
scn.set_max();
ASSERT_EQ(OB_SUCCESS, memtable.save_multi_source_data_unit(&tablet_status, scn, !for_replay, memtable::MemtableRefOp::INC_REF, !is_callback));
memtable.key_.scn_range_.start_scn_.convert_for_gts(100);
memtable.key_.scn_range_.end_scn_.convert_for_gts(100);
ASSERT_EQ(1, tablet_status.get_unsync_cnt_for_multi_data());
memtable.key_.scn_range_.start_scn_.convert_for_gts(100);
memtable.key_.scn_range_.end_scn_.set_max();
memtable.max_end_scn_.set_min();
ASSERT_EQ(OB_SUCCESS, scn.convert_for_gts(102));
ASSERT_EQ(OB_SUCCESS, memtable.save_multi_source_data_unit(&tablet_status, scn, for_replay, memtable::MemtableRefOp::DEC_REF, is_callback));
ASSERT_EQ(0, tablet_status.get_unsync_cnt_for_multi_data());