[CP][BUGFIX] fix table scan lob memory leak
This commit is contained in:
@ -105,7 +105,7 @@ int ObTableAccessContext::build_lob_locator_helper(ObTableScanParam &scan_param,
|
||||
} else if (OB_ISNULL(buf = lob_allocator_.alloc(sizeof(ObLobLocatorHelper)))) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
STORAGE_LOG(WARN, "Failed to alloc memory for ObLobLocatorHelper", K(ret));
|
||||
} else if (FALSE_IT(lob_locator_helper_ = new (buf) ObLobLocatorHelper(lob_allocator_))) {
|
||||
} else if (FALSE_IT(lob_locator_helper_ = new (buf) ObLobLocatorHelper())) {
|
||||
} else if (OB_FAIL(lob_locator_helper_->init(scan_param,
|
||||
ctx,
|
||||
scan_param.ls_id_,
|
||||
@ -134,7 +134,7 @@ int ObTableAccessContext::build_lob_locator_helper(const ObStoreCtx &ctx,
|
||||
} else if (OB_ISNULL(buf = lob_allocator_.alloc(sizeof(ObLobLocatorHelper)))) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
STORAGE_LOG(WARN, "Failed to alloc memory for ObLobLocatorHelper", K(ret));
|
||||
} else if (FALSE_IT(lob_locator_helper_ = new (buf) ObLobLocatorHelper(lob_allocator_))) {
|
||||
} else if (FALSE_IT(lob_locator_helper_ = new (buf) ObLobLocatorHelper())) {
|
||||
} else if (OB_FAIL(lob_locator_helper_->init(table_store_stat_,
|
||||
ctx,
|
||||
ls_id_,
|
||||
|
||||
@ -27,7 +27,7 @@ using namespace blocksstable;
|
||||
namespace storage
|
||||
{
|
||||
|
||||
ObLobLocatorHelper::ObLobLocatorHelper(common::ObIAllocator& allocator)
|
||||
ObLobLocatorHelper::ObLobLocatorHelper()
|
||||
: table_id_(OB_INVALID_ID),
|
||||
tablet_id_(OB_INVALID_ID),
|
||||
ls_id_(OB_INVALID_ID),
|
||||
@ -35,7 +35,7 @@ ObLobLocatorHelper::ObLobLocatorHelper(common::ObIAllocator& allocator)
|
||||
rowid_version_(ObURowIDData::INVALID_ROWID_VERSION),
|
||||
rowid_project_(nullptr),
|
||||
rowid_objs_(),
|
||||
locator_allocator_(allocator),
|
||||
locator_allocator_(ObModIds::OB_LOB_READER, OB_MALLOC_NORMAL_BLOCK_SIZE, MTL_ID()),
|
||||
rowkey_str_(),
|
||||
enable_locator_v2_(),
|
||||
is_inited_(false)
|
||||
|
||||
@ -24,7 +24,7 @@ namespace storage
|
||||
class ObLobLocatorHelper
|
||||
{
|
||||
public:
|
||||
ObLobLocatorHelper(common::ObIAllocator& allocator);
|
||||
ObLobLocatorHelper();
|
||||
virtual ~ObLobLocatorHelper();
|
||||
void reset();
|
||||
void reuse() {
|
||||
|
||||
Reference in New Issue
Block a user