patch 4.0

This commit is contained in:
wangzelin.wzl
2022-10-24 10:34:53 +08:00
parent 4ad6e00ec3
commit 93a1074b0c
10533 changed files with 2588271 additions and 2299373 deletions

View File

@ -16,8 +16,10 @@
#define private public
#include "lib/lock/ob_bucket_lock.h"
namespace oceanbase {
namespace common {
namespace oceanbase
{
namespace common
{
TEST(ObBucketLock, succeed_wrlock_all)
{
@ -130,7 +132,7 @@ TEST(ObBucketLock, wlock_multi_buckets)
lock.init(1024);
{
ObMultiBucketLockGuard guard(lock, true /*is_write_lock*/);
ObMultiBucketLockGuard guard(lock, true/*is_write_lock*/);
ObArray<uint64_t> hash_array;
ASSERT_EQ(OB_SUCCESS, hash_array.push_back(1));
ASSERT_EQ(OB_SUCCESS, bucket_array.push_back(1 % lock.get_bucket_count()));
@ -141,7 +143,7 @@ TEST(ObBucketLock, wlock_multi_buckets)
ASSERT_EQ(OB_SUCCESS, hash_array.push_back(301));
ASSERT_EQ(OB_SUCCESS, bucket_array.push_back(301 % lock.get_bucket_count()));
ASSERT_EQ(OB_SUCCESS, guard.lock_multi_buckets(hash_array));
for (int64_t i = 0; i < bucket_array.count(); ++i) {
for (int64_t i = 0; i < bucket_array.count(); ++i) {
ASSERT_EQ(OB_EAGAIN, lock.try_rdlock(bucket_array.at(i)));
}
}
@ -161,7 +163,7 @@ TEST(ObBucketLock, rlock_multi_buckets)
lock.init(1024);
{
ObMultiBucketLockGuard guard(lock, false /*is_write_lock*/);
ObMultiBucketLockGuard guard(lock, false/*is_write_lock*/);
ObArray<uint64_t> hash_array;
ASSERT_EQ(OB_SUCCESS, hash_array.push_back(1));
ASSERT_EQ(OB_SUCCESS, bucket_array.push_back(1 % lock.get_bucket_count()));
@ -172,10 +174,10 @@ TEST(ObBucketLock, rlock_multi_buckets)
ASSERT_EQ(OB_SUCCESS, hash_array.push_back(301));
ASSERT_EQ(OB_SUCCESS, bucket_array.push_back(301 % lock.get_bucket_count()));
ASSERT_EQ(OB_SUCCESS, guard.lock_multi_buckets(hash_array));
for (int64_t i = 0; i < bucket_array.count(); ++i) {
for (int64_t i = 0; i < bucket_array.count(); ++i) {
ASSERT_EQ(OB_EAGAIN, lock.try_wrlock(bucket_array.at(i)));
}
for (int64_t i = 0; i < bucket_array.count(); ++i) {
for (int64_t i = 0; i < bucket_array.count(); ++i) {
ASSERT_EQ(OB_SUCCESS, lock.try_rdlock(bucket_array.at(i)));
ASSERT_EQ(OB_SUCCESS, lock.unlock(bucket_array.at(i)));
}
@ -188,6 +190,7 @@ TEST(ObBucketLock, rlock_multi_buckets)
}
}
TEST(ObBucketLock, hash_rlock)
{
ObBucketLock lock;
@ -206,6 +209,7 @@ TEST(ObBucketLock, hash_rlock)
}
}
TEST(ObBucketLock, hash_wlock)
{
ObBucketLock lock;
@ -223,10 +227,10 @@ TEST(ObBucketLock, hash_wlock)
}
}
} // namespace common
} // namespace oceanbase
}
}
int main(int argc, char** argv)
int main(int argc, char **argv)
{
oceanbase::common::ObLogger::get_logger().set_log_level("INFO");
testing::InitGoogleTest(&argc, argv);