[MDS] fix thread deadlock between DAG and tablet and mds_table
This commit is contained in:
@ -6,6 +6,7 @@
|
||||
#include "lib/utility/serialization.h"
|
||||
#include "meta_programming/ob_meta_serialization.h"
|
||||
#include "common_define.h"
|
||||
|
||||
namespace oceanbase {
|
||||
namespace unittest {
|
||||
struct ExampleUserKey {
|
||||
|
||||
@ -95,7 +95,7 @@ void TestMdsDumpKV::test_dump_node_convert_and_serialize_and_compare()
|
||||
|
||||
ObArenaAllocator allocator;
|
||||
ASSERT_EQ(OB_SUCCESS, dump_node2.deserialize(allocator, buffer, buf_len, pos));
|
||||
OB_ASSERT(dump_node2.crc_check_number_ == dump_node2.generate_hash());
|
||||
MDS_ASSERT(dump_node2.crc_check_number_ == dump_node2.generate_hash());
|
||||
ASSERT_EQ(dump_node2.generate_hash(), dump_node2.crc_check_number_);
|
||||
ASSERT_EQ(dump_node2.crc_check_number_, dump_node.crc_check_number_);
|
||||
UserMdsNode<DummyKey, ExampleUserData2> user_mds_node2;
|
||||
|
||||
@ -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)
|
||||
|
||||
Reference in New Issue
Block a user