delete old mds code
This commit is contained in:
@ -518,53 +518,6 @@ TEST_F(TestMemtable, multi_key)
|
||||
print(mvcc_row2);
|
||||
}
|
||||
|
||||
TEST_F(TestMemtable, test_unsync_cnt_for_multi_data)
|
||||
{
|
||||
ObMemtable memtable;
|
||||
EXPECT_EQ(OB_SUCCESS, init_memtable(memtable));
|
||||
share::schema::ObTableSchema table_schema;
|
||||
ObStorageSchema storage_schema;
|
||||
bool is_callback = true;
|
||||
bool for_replay = true;
|
||||
share::SCN scn;
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, scn.convert_from_ts(100));
|
||||
prepare_schema(table_schema);
|
||||
ASSERT_EQ(OB_SUCCESS, storage_schema.init(allocator_, table_schema, lib::Worker::CompatMode::MYSQL));
|
||||
|
||||
storage_schema.set_sync_finish(false);
|
||||
ASSERT_EQ(OB_SUCCESS, memtable.save_multi_source_data_unit(&storage_schema, scn, !for_replay, memtable::MemtableRefOp::INC_REF, !is_callback));
|
||||
ASSERT_EQ(1, storage_schema.get_unsync_cnt_for_multi_data());
|
||||
|
||||
storage_schema.set_sync_finish(true);
|
||||
ASSERT_EQ(OB_SUCCESS, memtable.save_multi_source_data_unit(&storage_schema, scn, !for_replay, memtable::MemtableRefOp::DEC_REF, is_callback));
|
||||
ASSERT_EQ(0, storage_schema.get_unsync_cnt_for_multi_data());
|
||||
}
|
||||
|
||||
TEST_F(TestMemtable, test_mds_commit_to_empty_memtable)
|
||||
{
|
||||
ObMemtable memtable;
|
||||
EXPECT_EQ(OB_SUCCESS, init_memtable(memtable));
|
||||
ObTabletTxMultiSourceDataUnit tablet_status;
|
||||
tablet_status.tablet_status_ = ObTabletStatus::NORMAL;
|
||||
bool is_callback = true;
|
||||
bool for_replay = true;
|
||||
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));
|
||||
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());
|
||||
ASSERT_EQ(OB_SUCCESS, scn.convert_for_gts(101));
|
||||
ASSERT_EQ(scn, memtable.get_end_scn());
|
||||
}
|
||||
|
||||
|
||||
}// end of oceanbase
|
||||
|
||||
|
@ -282,89 +282,6 @@ TEST_F(TestStorageSchema, deep_copy_str)
|
||||
|
||||
}
|
||||
|
||||
TEST_F(TestStorageSchema, test_storage_schema_list_in_memtable)
|
||||
{
|
||||
memtable::ObMultiSourceData source_data(allocator_);
|
||||
share::schema::ObTableSchema table_schema;
|
||||
|
||||
ObStorageSchema storage_schema;
|
||||
prepare_schema(table_schema);
|
||||
ASSERT_EQ(OB_SUCCESS, storage_schema.init(allocator_, table_schema, lib::Worker::CompatMode::MYSQL));
|
||||
const memtable::MultiSourceDataUnitType pos = storage_schema.type();
|
||||
const int64_t list_pos = memtable::ObMultiSourceData::get_unit_list_array_idx(static_cast<int>(pos));
|
||||
// test sync failed
|
||||
bool is_callback = false;
|
||||
storage_schema.sync_finish_ = false;
|
||||
|
||||
ASSERT_EQ(OB_ERR_UNEXPECTED, source_data.inner_mark_unit_sync_finish(
|
||||
list_pos,
|
||||
storage_schema.get_version(), // invalid version
|
||||
true,
|
||||
0));
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.save_multi_source_data_unit(&storage_schema, is_callback));
|
||||
|
||||
ObStorageSchema read_storage_schema;
|
||||
ASSERT_EQ(OB_ENTRY_NOT_EXIST, source_data.get_multi_source_data_unit(&read_storage_schema, &allocator_));
|
||||
ASSERT_EQ(true, source_data.has_multi_source_data_unit(pos));
|
||||
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.inner_mark_unit_sync_finish(
|
||||
list_pos,
|
||||
storage_schema.get_version(),
|
||||
true,
|
||||
0));
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.get_multi_source_data_unit(&read_storage_schema, &allocator_));
|
||||
ASSERT_EQ(true, judge_storage_schema_equal(storage_schema, read_storage_schema));
|
||||
ASSERT_EQ(true, source_data.has_multi_source_data_unit(pos));
|
||||
|
||||
|
||||
// and one
|
||||
int64_t old_schema_version = storage_schema.schema_version_;
|
||||
int64_t new_schema_version = storage_schema.schema_version_ + 100;
|
||||
storage_schema.schema_version_ = new_schema_version;
|
||||
storage_schema.sync_finish_ = false;
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.save_multi_source_data_unit(&storage_schema, is_callback));
|
||||
read_storage_schema.reset();
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.get_multi_source_data_unit(&read_storage_schema, &allocator_));
|
||||
|
||||
storage_schema.schema_version_ = old_schema_version;
|
||||
ASSERT_EQ(true, judge_storage_schema_equal(storage_schema, read_storage_schema));
|
||||
|
||||
storage_schema.schema_version_ = new_schema_version;
|
||||
ASSERT_EQ(OB_ERR_UNEXPECTED, source_data.inner_mark_unit_sync_finish(
|
||||
list_pos,
|
||||
storage_schema.get_version() + 1, // invalid version
|
||||
true,
|
||||
0));
|
||||
|
||||
storage_schema.set_sync_finish(false);
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.save_multi_source_data_unit(&storage_schema, true));
|
||||
|
||||
storage_schema.set_sync_finish(true);
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.save_multi_source_data_unit(&storage_schema, true));
|
||||
|
||||
storage_schema.schema_version_++;
|
||||
ASSERT_EQ(OB_ERR_UNEXPECTED, source_data.save_multi_source_data_unit(&storage_schema, true));
|
||||
|
||||
storage_schema.schema_version_--;
|
||||
read_storage_schema.reset();
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.get_multi_source_data_unit(&read_storage_schema, &allocator_));
|
||||
ASSERT_EQ(true, judge_storage_schema_equal(storage_schema, read_storage_schema));
|
||||
ASSERT_EQ(1, source_data.unit_list_array_[list_pos].get_size());
|
||||
|
||||
for (int i = 0; i < 3; ++i) {
|
||||
storage_schema.schema_version_ += 300;
|
||||
storage_schema.set_sync_finish(true);
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.save_multi_source_data_unit(&storage_schema, false));
|
||||
}
|
||||
ASSERT_EQ(1, source_data.unit_list_array_[list_pos].get_size());
|
||||
read_storage_schema.reset();
|
||||
ASSERT_EQ(OB_SUCCESS, source_data.get_multi_source_data_unit(&read_storage_schema, &allocator_));
|
||||
ASSERT_EQ(true, judge_storage_schema_equal(storage_schema, read_storage_schema));
|
||||
|
||||
}
|
||||
|
||||
|
||||
} // namespace unittest
|
||||
} // namespace oceanbase
|
||||
|
||||
|
Reference in New Issue
Block a user