remove memstore limit for inner table

This commit is contained in:
ms 2021-06-16 11:51:12 +08:00 committed by MizuhaHimuraki
parent d113832231
commit d3d110b766
3 changed files with 5 additions and 2 deletions

View File

@ -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)) {

View File

@ -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,

View File

@ -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);