Split temporary file's ObSEArray into tenant's memory.
This commit is contained in:
@ -1243,6 +1243,7 @@ int ObTmpFile::sync(const int64_t timeout_ms)
|
|||||||
// iter all blocks, execute async wash.
|
// iter all blocks, execute async wash.
|
||||||
common::hash::ObHashSet<int64_t>::const_iterator iter;
|
common::hash::ObHashSet<int64_t>::const_iterator iter;
|
||||||
common::ObSEArray<ObTmpTenantMemBlockManager::ObIOWaitInfoHandle, 1> handles;
|
common::ObSEArray<ObTmpTenantMemBlockManager::ObIOWaitInfoHandle, 1> handles;
|
||||||
|
handles.set_attr(ObMemAttr(MTL_ID(), "TMP_SYNC_HDL"));
|
||||||
for (iter = blk_id_set.begin(); OB_SUCC(ret) && iter != blk_id_set.end(); ++iter) {
|
for (iter = blk_id_set.begin(); OB_SUCC(ret) && iter != blk_id_set.end(); ++iter) {
|
||||||
const int64_t &blk_id = iter->first;
|
const int64_t &blk_id = iter->first;
|
||||||
ObTmpTenantMemBlockManager::ObIOWaitInfoHandle handle;
|
ObTmpTenantMemBlockManager::ObIOWaitInfoHandle handle;
|
||||||
@ -1721,6 +1722,7 @@ int ObTmpFileManager::remove_tenant_file(const uint64_t tenant_id)
|
|||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
common::ObSEArray<int64_t, 32> fd_list;
|
common::ObSEArray<int64_t, 32> fd_list;
|
||||||
|
fd_list.set_attr(ObMemAttr(MTL_ID(), "TMP_FD_LIST"));
|
||||||
RmTenantTmpFileOp rm_tenant_file_op(tenant_id, &fd_list);
|
RmTenantTmpFileOp rm_tenant_file_op(tenant_id, &fd_list);
|
||||||
if (IS_NOT_INIT) {
|
if (IS_NOT_INIT) {
|
||||||
ret = OB_NOT_INIT;
|
ret = OB_NOT_INIT;
|
||||||
|
|||||||
@ -426,6 +426,7 @@ ObTmpMacroBlock::ObTmpMacroBlock()
|
|||||||
alloc_time_(0),
|
alloc_time_(0),
|
||||||
access_time_(0)
|
access_time_(0)
|
||||||
{
|
{
|
||||||
|
using_extents_.set_attr(ObMemAttr(MTL_ID(), "TMP_US_META"));
|
||||||
}
|
}
|
||||||
|
|
||||||
ObTmpMacroBlock::~ObTmpMacroBlock()
|
ObTmpMacroBlock::~ObTmpMacroBlock()
|
||||||
@ -1306,7 +1307,9 @@ int ObTmpTenantFileStore::read_page(ObTmpMacroBlock *block, ObTmpBlockIOInfo &io
|
|||||||
int32_t page_nums = 0;
|
int32_t page_nums = 0;
|
||||||
common::ObIArray<ObTmpPageIOInfo> *page_io_infos = nullptr;
|
common::ObIArray<ObTmpPageIOInfo> *page_io_infos = nullptr;
|
||||||
|
|
||||||
void *buf = ob_malloc(sizeof(common::ObSEArray<ObTmpPageIOInfo, ObTmpFilePageBuddy::MAX_PAGE_NUMS>), "TmpReadPage");
|
void *buf =
|
||||||
|
ob_malloc(sizeof(common::ObSEArray<ObTmpPageIOInfo, ObTmpFilePageBuddy::MAX_PAGE_NUMS>),
|
||||||
|
ObMemAttr(MTL_ID(), "TmpReadPage"));
|
||||||
if (OB_ISNULL(buf)) {
|
if (OB_ISNULL(buf)) {
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
STORAGE_LOG(WARN, "fail to alloc a buf", K(ret));
|
STORAGE_LOG(WARN, "fail to alloc a buf", K(ret));
|
||||||
@ -1841,6 +1844,7 @@ int ObTmpFileStore::get_macro_block_list(ObIArray<TenantTmpBlockCntPair> &tmp_bl
|
|||||||
} else {
|
} else {
|
||||||
tmp_block_cnt_pairs.reset();
|
tmp_block_cnt_pairs.reset();
|
||||||
common::ObSEArray<MacroBlockId, 64> macro_id_list;
|
common::ObSEArray<MacroBlockId, 64> macro_id_list;
|
||||||
|
macro_id_list.set_attr(ObMemAttr(MTL_ID(), "TMP_MB_LIST"));
|
||||||
TenantFileStoreMap::iterator iter;
|
TenantFileStoreMap::iterator iter;
|
||||||
ObTmpTenantFileStore *tmp = NULL;
|
ObTmpTenantFileStore *tmp = NULL;
|
||||||
for (iter = tenant_file_stores_.begin(); OB_SUCC(ret) && iter != tenant_file_stores_.end();
|
for (iter = tenant_file_stores_.begin(); OB_SUCC(ret) && iter != tenant_file_stores_.end();
|
||||||
|
|||||||
Reference in New Issue
Block a user