[MDS] fix thread deadlock between DAG and tablet and mds_table

This commit is contained in:
fengdeyiji
2023-08-17 09:40:35 +00:00
committed by ob-robot
parent a5ef36f579
commit 9b01ed202d
27 changed files with 269 additions and 227 deletions

View File

@ -139,7 +139,7 @@ void TestMdsTable::replay() {
share::SCN recorde_scn = mock_scn(0);
unit.single_row_.v_.sorted_list_.for_each_node_from_tail_to_head_until_true([&](const UserMdsNode<DummyKey, ExampleUserData1> &node) -> int {
if (!node.is_aborted_()) {
OB_ASSERT(node.redo_scn_ > recorde_scn);
MDS_ASSERT(node.redo_scn_ > recorde_scn);
recorde_scn = node.redo_scn_;
}
return OB_SUCCESS;
@ -383,8 +383,8 @@ void TestMdsTable::test_flush() {
ASSERT_EQ(mock_scn(199), mds_table_.p_mds_table_base_->flushing_scn_);// 2. 实际上以199为版本号进行flush动作
ASSERT_EQ(OB_SUCCESS, mds_table_.for_each_unit_from_small_key_to_big_from_old_node_to_new_to_dump(
[&idx](const MdsDumpKV &kv) -> int {// 2. 转储时扫描mds table
OB_ASSERT(kv.v_.end_scn_ < mock_scn(199));// 扫描时看不到199版本以上的提交
OB_ASSERT(idx < 10);
MDS_ASSERT(kv.v_.end_scn_ < mock_scn(199));// 扫描时看不到199版本以上的提交
MDS_ASSERT(idx < 10);
MDS_LOG(INFO, "print dump node kv", K(kv));
return OB_SUCCESS;
}, 0, true)