[CP] [CP] Remove disk report skip logic
This commit is contained in:
@ -825,7 +825,6 @@ int ObTenantMetaMemMgr::gc_tablets_in_queue(bool &all_tablet_cleaned)
|
|||||||
}
|
}
|
||||||
if (left_recycle_cnt < ONE_ROUND_TABLET_GC_COUNT_THRESHOLD) {
|
if (left_recycle_cnt < ONE_ROUND_TABLET_GC_COUNT_THRESHOLD) {
|
||||||
FLOG_INFO("gc tablets in queue", K(gc_tablets_cnt), K(err_tablets_cnt), K(tablet_gc_queue_.count()));
|
FLOG_INFO("gc tablets in queue", K(gc_tablets_cnt), K(err_tablets_cnt), K(tablet_gc_queue_.count()));
|
||||||
static_cast<ObDiskUsageReportTask *>(GCTX.disk_reporter_)->set_count_sstable_data_trigger();
|
|
||||||
}
|
}
|
||||||
all_tablet_cleaned = tablet_gc_queue_.is_empty();
|
all_tablet_cleaned = tablet_gc_queue_.is_empty();
|
||||||
}
|
}
|
||||||
|
@ -38,9 +38,7 @@ namespace storage
|
|||||||
|
|
||||||
ObDiskUsageReportTask::ObDiskUsageReportTask()
|
ObDiskUsageReportTask::ObDiskUsageReportTask()
|
||||||
: is_inited_(false),
|
: is_inited_(false),
|
||||||
sql_proxy_(NULL),
|
sql_proxy_(NULL)
|
||||||
sstable_data_size_(-1),
|
|
||||||
sstable_meta_size_(-1)
|
|
||||||
{
|
{
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
@ -187,45 +185,37 @@ int ObDiskUsageReportTask::count_tenant_data(const uint64_t tenant_id)
|
|||||||
int64_t tmp_meta_size = 0;
|
int64_t tmp_meta_size = 0;
|
||||||
int64_t tmp_data_size = 0;
|
int64_t tmp_data_size = 0;
|
||||||
|
|
||||||
if ((data_size = ATOMIC_LOAD(&sstable_data_size_)) >= 0) {
|
data_size = 0;
|
||||||
meta_size = ATOMIC_LOAD(&sstable_meta_size_);
|
if (OB_FAIL(MTL(ObTenantCheckpointSlogHandler*)->get_meta_block_list(block_list))) {
|
||||||
STORAGE_LOG(INFO, "skip count sstable data size", K(data_size), K(meta_size));
|
STORAGE_LOG(WARN, "failed to get tenant's meta block list", K(ret));
|
||||||
} else {
|
} else {
|
||||||
data_size = 0;
|
ObTenantMetaMemMgr *t3m = MTL(ObTenantMetaMemMgr*);
|
||||||
if (OB_FAIL(MTL(ObTenantCheckpointSlogHandler*)->get_meta_block_list(block_list))) {
|
ObArenaAllocator iter_allocator("DiskReport", OB_MALLOC_NORMAL_BLOCK_SIZE, tenant_id);
|
||||||
STORAGE_LOG(WARN, "failed to get tenant's meta block list", K(ret));
|
ObTenantTabletIterator tablet_iter(*t3m, iter_allocator, nullptr/*no op*/);
|
||||||
} else {
|
ObTabletHandle tablet_handle;
|
||||||
ObTenantMetaMemMgr *t3m = MTL(ObTenantMetaMemMgr*);
|
while (OB_SUCC(ret) && OB_SUCC(tablet_iter.get_next_tablet(tablet_handle))) {
|
||||||
ObArenaAllocator iter_allocator("DiskReport", OB_MALLOC_NORMAL_BLOCK_SIZE, tenant_id);
|
if (OB_UNLIKELY(!tablet_handle.is_valid())) {
|
||||||
ObTenantTabletIterator tablet_iter(*t3m, iter_allocator, nullptr/*no op*/);
|
ret = OB_ERR_UNEXPECTED;
|
||||||
ObTabletHandle tablet_handle;
|
STORAGE_LOG(WARN, "unexpected invalid tablet", K(ret), K(tablet_handle));
|
||||||
while (OB_SUCC(ret) && OB_SUCC(tablet_iter.get_next_tablet(tablet_handle))) {
|
} else if (tablet_handle.get_obj()->is_empty_shell()) {
|
||||||
if (OB_UNLIKELY(!tablet_handle.is_valid())) {
|
// skip empty shell
|
||||||
ret = OB_ERR_UNEXPECTED;
|
} else if (OB_FAIL(tablet_handle.get_obj()->get_tablet_size(
|
||||||
STORAGE_LOG(WARN, "unexpected invalid tablet", K(ret), K(tablet_handle));
|
true /*ignore shared block*/, tmp_meta_size, tmp_data_size))) {
|
||||||
} else if (tablet_handle.get_obj()->is_empty_shell()) {
|
STORAGE_LOG(WARN, "failed to get tablet's meta and data size", K(ret));
|
||||||
// skip empty shell
|
} else {
|
||||||
} else if (OB_FAIL(tablet_handle.get_obj()->get_tablet_size(
|
meta_size += tmp_meta_size;
|
||||||
true /*ignore shared block*/, tmp_meta_size, tmp_data_size))) {
|
data_size += tmp_data_size;
|
||||||
STORAGE_LOG(WARN, "failed to get tablet's meta and data size", K(ret));
|
|
||||||
} else {
|
|
||||||
meta_size += tmp_meta_size;
|
|
||||||
data_size += tmp_data_size;
|
|
||||||
}
|
|
||||||
tablet_handle.reset();
|
|
||||||
iter_allocator.reuse();
|
|
||||||
tmp_meta_size = 0;
|
|
||||||
tmp_data_size = 0;
|
|
||||||
}
|
}
|
||||||
|
tablet_handle.reset();
|
||||||
|
iter_allocator.reuse();
|
||||||
|
tmp_meta_size = 0;
|
||||||
|
tmp_data_size = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (OB_ITER_END == ret || OB_SUCCESS == ret) {
|
if (OB_ITER_END == ret || OB_SUCCESS == ret) {
|
||||||
ret = OB_SUCCESS;
|
ret = OB_SUCCESS;
|
||||||
data_size += MTL(ObSharedMacroBlockMgr*)->get_shared_block_cnt() * OB_DEFAULT_MACRO_BLOCK_SIZE;
|
data_size += MTL(ObSharedMacroBlockMgr*)->get_shared_block_cnt() * OB_DEFAULT_MACRO_BLOCK_SIZE;
|
||||||
meta_size += block_list.count() * OB_DEFAULT_MACRO_BLOCK_SIZE;
|
meta_size += block_list.count() * OB_DEFAULT_MACRO_BLOCK_SIZE;
|
||||||
|
|
||||||
ATOMIC_SET(&sstable_meta_size_, meta_size);
|
|
||||||
ATOMIC_SET(&sstable_data_size_, data_size);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,7 +68,6 @@ public:
|
|||||||
// get data disk used size of specified tenant_id in current observer
|
// get data disk used size of specified tenant_id in current observer
|
||||||
int get_data_disk_used_size(const uint64_t tenant_id, int64_t &used_size) const;
|
int get_data_disk_used_size(const uint64_t tenant_id, int64_t &used_size) const;
|
||||||
int get_clog_disk_used_size(const uint64_t tenant_id, int64_t &used_size) const;
|
int get_clog_disk_used_size(const uint64_t tenant_id, int64_t &used_size) const;
|
||||||
void set_count_sstable_data_trigger() { ATOMIC_SET(&sstable_data_size_, -1); }
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class ObReportResultGetter final
|
class ObReportResultGetter final
|
||||||
@ -119,8 +118,6 @@ private:
|
|||||||
ReportResultMap result_map_;
|
ReportResultMap result_map_;
|
||||||
common::ObMySQLProxy *sql_proxy_;
|
common::ObMySQLProxy *sql_proxy_;
|
||||||
share::ObDiskUsageTableOperator disk_usage_table_operator_;
|
share::ObDiskUsageTableOperator disk_usage_table_operator_;
|
||||||
int64_t sstable_data_size_;
|
|
||||||
int64_t sstable_meta_size_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace storage
|
} // namespace storage
|
||||||
|
Reference in New Issue
Block a user