diff --git a/src/share/allocator/ob_gmemstore_allocator.cpp b/src/share/allocator/ob_gmemstore_allocator.cpp index 63149c98747c72e69922641ddc000bb9f829a16e..66bc671f84744b8a2e4d8bd7b2c5f3827d1a6f8e 100644 --- a/src/share/allocator/ob_gmemstore_allocator.cpp +++ b/src/share/allocator/ob_gmemstore_allocator.cpp @@ -93,7 +93,9 @@ void* ObGMemstoreAllocator::alloc(AllocHandle& handle, int64_t size) hlist_.set_active(handle); } } - if (OB_FAIL(ObTenantManager::get_instance().check_tenant_out_of_memstore_limit(tenant_id, is_out_of_mem))) { + if (handle.mt_.is_inner_table()) { + // inner table memory not limited by memstore + } else if (OB_FAIL(ObTenantManager::get_instance().check_tenant_out_of_memstore_limit(tenant_id, is_out_of_mem))) { COMMON_LOG(ERROR, "fail to check tenant out of mem limit", K(ret), K(tenant_id)); is_out_of_mem = true; } else if (is_out_of_mem && REACH_TIME_INTERVAL(1 * 1000 * 1000)) { diff --git a/src/storage/memtable/ob_memtable.cpp b/src/storage/memtable/ob_memtable.cpp index c6632019afad218d3e02d7dc63889cd8b7ebd0e3..285079e56145dddb159e1dffa396d4fc00025e5b 100644 --- a/src/storage/memtable/ob_memtable.cpp +++ b/src/storage/memtable/ob_memtable.cpp @@ -2634,7 +2634,7 @@ int ObMemtable::check_standby_cluster_schema_condition_( // user tables of normal tenants(not sys tenant) need to be checked by schema version of // itself; // sys tables of normal tenants(not sys tenant) need to be checked by schema version of sys tenent; - uint64_t referred_tenant_id = is_inner_table(table_id) ? OB_SYS_TENANT_ID : tenant_id; + uint64_t referred_tenant_id = common::is_inner_table(table_id) ? OB_SYS_TENANT_ID : tenant_id; int64_t tenant_schema_version = 0; if (OB_FAIL(GSCHEMASERVICE.get_tenant_refreshed_schema_version(referred_tenant_id, tenant_schema_version))) { TRANS_LOG(WARN, diff --git a/src/storage/memtable/ob_memtable.h b/src/storage/memtable/ob_memtable.h index e2f40198c6e619dcf11a4475ac7cb3ce8935d171..7bbee27d47e9a9f5b3d802640183ce276e5d1486 100644 --- a/src/storage/memtable/ob_memtable.h +++ b/src/storage/memtable/ob_memtable.h @@ -256,6 +256,7 @@ class ObMemtable : public ObIMemtable { virtual int get_frozen_schema_version(int64_t& schema_version) const override; virtual bool is_frozen_memtable() const override; virtual bool is_active_memtable() const override; + virtual bool is_inner_table() const { return common::is_inner_table(key_.table_id_); } int set_snapshot_version(const int64_t snapshot_version); int set_base_version(const int64_t base_version); int set_start_log_ts(const int64_t start_ts);