[FEAT MERGE] log4100 branch
Co-authored-by: tino247 <tino247@126.com> Co-authored-by: BinChenn <binchenn.bc@gmail.com> Co-authored-by: HaHaJeff <jeffzhouhhh@gmail.com>
This commit is contained in:
@ -33,6 +33,7 @@ ObTenantMutilAllocator::ObTenantMutilAllocator(uint64_t tenant_id)
|
||||
LOG_IO_FLUSH_META_TASK_SIZE(sizeof(palf::LogIOFlushMetaTask)),
|
||||
LOG_IO_TRUNCATE_PREFIX_BLOCKS_TASK_SIZE(sizeof(palf::LogIOTruncatePrefixBlocksTask)),
|
||||
PALF_FETCH_LOG_TASK_SIZE(sizeof(palf::FetchLogTask)),
|
||||
LOG_IO_FLASHBACK_TASK_SIZE(sizeof(palf::LogIOFlashbackTask)),
|
||||
clog_blk_alloc_(),
|
||||
inner_table_replay_blk_alloc_(REPLAY_MEM_LIMIT_THRESHOLD * INNER_TABLE_REPLAY_MEM_PERCENT / 100),
|
||||
user_table_replay_blk_alloc_(REPLAY_MEM_LIMIT_THRESHOLD * (100 - INNER_TABLE_REPLAY_MEM_PERCENT) / 100),
|
||||
@ -46,7 +47,8 @@ ObTenantMutilAllocator::ObTenantMutilAllocator(uint64_t tenant_id)
|
||||
log_io_flush_meta_task_alloc_(LOG_IO_FLUSH_META_TASK_SIZE, ObMemAttr(tenant_id, "FlushMeta"), choose_blk_size(LOG_IO_FLUSH_META_TASK_SIZE), clog_blk_alloc_, this),
|
||||
log_io_truncate_prefix_blocks_task_alloc_(LOG_IO_TRUNCATE_PREFIX_BLOCKS_TASK_SIZE, ObMemAttr(tenant_id, "FlushMeta"), choose_blk_size(LOG_IO_TRUNCATE_PREFIX_BLOCKS_TASK_SIZE), clog_blk_alloc_, this),
|
||||
palf_fetch_log_task_alloc_(PALF_FETCH_LOG_TASK_SIZE, ObMemAttr(tenant_id, ObModIds::OB_FETCH_LOG_TASK), choose_blk_size(PALF_FETCH_LOG_TASK_SIZE), clog_blk_alloc_, this),
|
||||
replay_log_task_alloc_(ObMemAttr(tenant_id, ObModIds::OB_LOG_REPLAY_TASK), ObVSliceAlloc::DEFAULT_BLOCK_SIZE)
|
||||
replay_log_task_alloc_(ObMemAttr(tenant_id, ObModIds::OB_LOG_REPLAY_TASK), common::OB_MALLOC_BIG_BLOCK_SIZE),
|
||||
log_io_flashback_task_alloc_(LOG_IO_FLASHBACK_TASK_SIZE, ObMemAttr(tenant_id, "Flashback"), choose_blk_size(LOG_IO_FLASHBACK_TASK_SIZE), clog_blk_alloc_, this)
|
||||
{
|
||||
// set_nway according to tenant's max_cpu
|
||||
double min_cpu = 0;
|
||||
@ -150,12 +152,14 @@ int64_t ObTenantMutilAllocator::get_pending_replay_mutator_size() const
|
||||
return ATOMIC_LOAD(&pending_replay_mutator_size_);
|
||||
}
|
||||
|
||||
LogIOFlushLogTask *ObTenantMutilAllocator::alloc_log_io_flush_log_task()
|
||||
LogIOFlushLogTask *ObTenantMutilAllocator::alloc_log_io_flush_log_task(
|
||||
const int64_t palf_id, const int64_t palf_epoch)
|
||||
{
|
||||
LogIOFlushLogTask *ret_ptr = NULL;
|
||||
void *ptr = log_io_flush_log_task_alloc_.alloc();
|
||||
if (NULL != ptr) {
|
||||
ret_ptr = new(ptr)LogIOFlushLogTask();
|
||||
ret_ptr = new(ptr)LogIOFlushLogTask(palf_id, palf_epoch);
|
||||
ATOMIC_INC(&flying_log_task_);
|
||||
}
|
||||
return ret_ptr;
|
||||
}
|
||||
@ -165,15 +169,17 @@ void ObTenantMutilAllocator::free_log_io_flush_log_task(LogIOFlushLogTask *ptr)
|
||||
if (OB_LIKELY(NULL != ptr)) {
|
||||
ptr->~LogIOFlushLogTask();
|
||||
log_io_flush_log_task_alloc_.free(ptr);
|
||||
ATOMIC_DEC(&flying_log_task_);
|
||||
}
|
||||
}
|
||||
|
||||
LogIOTruncateLogTask *ObTenantMutilAllocator::alloc_log_io_truncate_log_task()
|
||||
LogIOTruncateLogTask *ObTenantMutilAllocator::alloc_log_io_truncate_log_task(
|
||||
const int64_t palf_id, const int64_t palf_epoch)
|
||||
{
|
||||
LogIOTruncateLogTask *ret_ptr = NULL;
|
||||
void *ptr = log_io_truncate_log_task_alloc_.alloc();
|
||||
if (NULL != ptr) {
|
||||
ret_ptr = new(ptr) LogIOTruncateLogTask();
|
||||
ret_ptr = new(ptr) LogIOTruncateLogTask(palf_id, palf_epoch);
|
||||
}
|
||||
return ret_ptr;
|
||||
}
|
||||
@ -186,12 +192,14 @@ void ObTenantMutilAllocator::free_log_io_truncate_log_task(LogIOTruncateLogTask
|
||||
}
|
||||
}
|
||||
|
||||
LogIOFlushMetaTask *ObTenantMutilAllocator::alloc_log_io_flush_meta_task()
|
||||
LogIOFlushMetaTask *ObTenantMutilAllocator::alloc_log_io_flush_meta_task(
|
||||
const int64_t palf_id, const int64_t palf_epoch)
|
||||
{
|
||||
LogIOFlushMetaTask *ret_ptr = NULL;
|
||||
void *ptr = log_io_flush_meta_task_alloc_.alloc();
|
||||
if (NULL != ptr) {
|
||||
ret_ptr = new(ptr)LogIOFlushMetaTask();
|
||||
ret_ptr = new(ptr)LogIOFlushMetaTask(palf_id, palf_epoch);
|
||||
ATOMIC_INC(&flying_meta_task_);
|
||||
}
|
||||
return ret_ptr;
|
||||
}
|
||||
@ -201,15 +209,17 @@ void ObTenantMutilAllocator::free_log_io_flush_meta_task(LogIOFlushMetaTask *ptr
|
||||
if (OB_LIKELY(NULL != ptr)) {
|
||||
ptr->~LogIOFlushMetaTask();
|
||||
log_io_flush_meta_task_alloc_.free(ptr);
|
||||
ATOMIC_DEC(&flying_meta_task_);
|
||||
}
|
||||
}
|
||||
|
||||
palf::LogIOTruncatePrefixBlocksTask *ObTenantMutilAllocator::alloc_log_io_truncate_prefix_blocks_task()
|
||||
palf::LogIOTruncatePrefixBlocksTask *ObTenantMutilAllocator::alloc_log_io_truncate_prefix_blocks_task(
|
||||
const int64_t palf_id, const int64_t palf_epoch)
|
||||
{
|
||||
LogIOTruncatePrefixBlocksTask *ret_ptr = NULL;
|
||||
void *ptr = log_io_truncate_prefix_blocks_task_alloc_.alloc();
|
||||
if (NULL != ptr) {
|
||||
ret_ptr = new(ptr)LogIOTruncatePrefixBlocksTask();
|
||||
ret_ptr = new(ptr)LogIOTruncatePrefixBlocksTask(palf_id ,palf_epoch);
|
||||
}
|
||||
return ret_ptr;
|
||||
}
|
||||
@ -265,6 +275,24 @@ void ObTenantMutilAllocator::free_replay_log_buf(void *ptr)
|
||||
}
|
||||
}
|
||||
|
||||
palf::LogIOFlashbackTask *ObTenantMutilAllocator::alloc_log_io_flashback_task(const int64_t palf_id, const int64_t palf_epoch)
|
||||
{
|
||||
LogIOFlashbackTask *ret_ptr = NULL;
|
||||
void *ptr = log_io_flashback_task_alloc_.alloc();
|
||||
if (NULL != ptr) {
|
||||
ret_ptr = new(ptr)LogIOFlashbackTask(palf_id, palf_epoch);
|
||||
}
|
||||
return ret_ptr;
|
||||
}
|
||||
|
||||
void ObTenantMutilAllocator::free_log_io_flashback_task(palf::LogIOFlashbackTask *ptr)
|
||||
{
|
||||
if (OB_LIKELY(NULL != ptr)) {
|
||||
ptr->~LogIOFlashbackTask();
|
||||
log_io_flashback_task_alloc_.free(ptr);
|
||||
}
|
||||
}
|
||||
|
||||
void ObTenantMutilAllocator::set_nway(const int32_t nway)
|
||||
{
|
||||
if (nway > 0) {
|
||||
|
||||
Reference in New Issue
Block a user