Bugfix: inspect_bad_block cannot atomically increase MacroBlock's refcnt.

This commit is contained in:
ND501
2024-02-10 06:50:51 +00:00
committed by ob-robot
parent 39e144d7dd
commit f8c2bab01d
3 changed files with 70 additions and 25 deletions

View File

@ -190,7 +190,9 @@ TEST_F(TestRefCnt, test_inc_and_dec_ref)
ASSERT_EQ(OB_SUCCESS, ret);
}
ObMacroBlockInfo block_info;
ret = OB_SERVER_BLOCK_MGR.get_macro_block_info(macro_id, block_info);
ObMacroBlockHandle block_handle;
ret = OB_SERVER_BLOCK_MGR.get_macro_block_info(macro_id, block_info, block_handle);
block_handle.reset();
ASSERT_EQ(OB_SUCCESS, ret);
ASSERT_EQ(1, block_info.ref_cnt_);
}
@ -229,7 +231,9 @@ TEST_F(TestRefCnt, test_overmuch_dec_ref)
}
ASSERT_EQ(OB_ERR_SYS, ret);
ObMacroBlockInfo block_info;
ret = OB_SERVER_BLOCK_MGR.get_macro_block_info(macro_id, block_info);
ObMacroBlockHandle block_handle;
ret = OB_SERVER_BLOCK_MGR.get_macro_block_info(macro_id, block_info, block_handle);
block_handle.reset();
ASSERT_EQ(OB_SUCCESS, ret);
ASSERT_EQ(0, block_info.ref_cnt_);
}
@ -250,7 +254,9 @@ TEST_F(TestRefCnt, test_1_0_1)
ASSERT_EQ(OB_SUCCESS, ret);
}
ObMacroBlockInfo block_info;
ret = OB_SERVER_BLOCK_MGR.get_macro_block_info(macro_id, block_info);
ObMacroBlockHandle block_handle;
ret = OB_SERVER_BLOCK_MGR.get_macro_block_info(macro_id, block_info, block_handle);
block_handle.reset();
ASSERT_EQ(OB_SUCCESS, ret);
ASSERT_EQ(1, block_info.ref_cnt_);
@ -265,7 +271,9 @@ TEST_F(TestRefCnt, test_1_0_1)
ASSERT_EQ(OB_SUCCESS, ret);
}
ret = OB_SERVER_BLOCK_MGR.get_macro_block_info(macro_id, block_info);
ObMacroBlockHandle tmp_block_handle;
ret = OB_SERVER_BLOCK_MGR.get_macro_block_info(macro_id, block_info, tmp_block_handle);
tmp_block_handle.reset();
ASSERT_EQ(OB_SUCCESS, ret);
ASSERT_EQ(1, block_info.ref_cnt_);