[OPT] opt lob manager buffer usage
This commit is contained in:
@ -1345,7 +1345,7 @@ int ObLobManager::append(
|
|||||||
}
|
}
|
||||||
// prepare write buffer
|
// prepare write buffer
|
||||||
ObString write_buffer;
|
ObString write_buffer;
|
||||||
int64_t buf_len = ObLobMetaUtil::LOB_OPER_PIECE_DATA_SIZE;
|
int64_t buf_len = OB_MIN(ObLobMetaUtil::LOB_OPER_PIECE_DATA_SIZE, append_lob_len);
|
||||||
char *buf = nullptr;
|
char *buf = nullptr;
|
||||||
if (OB_SUCC(ret)) {
|
if (OB_SUCC(ret)) {
|
||||||
buf = reinterpret_cast<char*>(param.allocator_->alloc(buf_len));
|
buf = reinterpret_cast<char*>(param.allocator_->alloc(buf_len));
|
||||||
@ -1444,7 +1444,7 @@ int ObLobManager::append(
|
|||||||
} else {
|
} else {
|
||||||
// prepare read buffer
|
// prepare read buffer
|
||||||
ObString read_buffer;
|
ObString read_buffer;
|
||||||
uint64_t read_buff_size = LOB_READ_BUFFER_LEN;
|
uint64_t read_buff_size = OB_MIN(LOB_READ_BUFFER_LEN, read_param.byte_size_);
|
||||||
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
||||||
if (OB_ISNULL(read_buff)) {
|
if (OB_ISNULL(read_buff)) {
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
@ -1704,7 +1704,7 @@ int ObLobManager::append(ObLobAccessParam& param, ObLobLocatorV2& lob, ObLobMeta
|
|||||||
}
|
}
|
||||||
// prepare read buffer
|
// prepare read buffer
|
||||||
ObString read_buffer;
|
ObString read_buffer;
|
||||||
uint64_t read_buff_size = LOB_READ_BUFFER_LEN;
|
uint64_t read_buff_size = OB_MIN(LOB_READ_BUFFER_LEN, append_lob_len);
|
||||||
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
||||||
if (OB_ISNULL(read_buff)) {
|
if (OB_ISNULL(read_buff)) {
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
@ -2389,7 +2389,7 @@ int ObLobManager::write_inrow(ObLobAccessParam& param, ObLobLocatorV2& lob, uint
|
|||||||
} else {
|
} else {
|
||||||
// prepare read buffer
|
// prepare read buffer
|
||||||
ObString read_buffer;
|
ObString read_buffer;
|
||||||
uint64_t read_buff_size = LOB_READ_BUFFER_LEN;
|
uint64_t read_buff_size = OB_MIN(LOB_READ_BUFFER_LEN, read_param.byte_size_);
|
||||||
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
||||||
if (OB_ISNULL(read_buff)) {
|
if (OB_ISNULL(read_buff)) {
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
@ -2677,7 +2677,7 @@ int ObLobManager::write_outrow(ObLobAccessParam& param, ObLobLocatorV2& lob, uin
|
|||||||
} else {
|
} else {
|
||||||
// prepare read buffer
|
// prepare read buffer
|
||||||
ObString read_buffer;
|
ObString read_buffer;
|
||||||
uint64_t read_buff_size = LOB_READ_BUFFER_LEN;
|
uint64_t read_buff_size = OB_MIN(LOB_READ_BUFFER_LEN, read_param.byte_size_);;
|
||||||
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
||||||
if (OB_ISNULL(read_buff)) {
|
if (OB_ISNULL(read_buff)) {
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
@ -2796,7 +2796,7 @@ int ObLobManager::write(ObLobAccessParam& param, ObString& data)
|
|||||||
ObLobQueryIter *iter = nullptr;
|
ObLobQueryIter *iter = nullptr;
|
||||||
// prepare read buffer
|
// prepare read buffer
|
||||||
ObString read_buffer;
|
ObString read_buffer;
|
||||||
uint64_t read_buff_size = LOB_READ_BUFFER_LEN;
|
uint64_t read_buff_size = ObLobMetaUtil::LOB_OPER_PIECE_DATA_SIZE;
|
||||||
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
char *read_buff = static_cast<char*>(param.allocator_->alloc(read_buff_size));
|
||||||
if (OB_ISNULL(read_buff)) {
|
if (OB_ISNULL(read_buff)) {
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
@ -3601,7 +3601,7 @@ int ObLobQueryIter::open(ObLobAccessParam ¶m, ObLobCtx& lob_ctx)
|
|||||||
} else if (OB_FAIL(lob_ctx.lob_meta_mngr_->scan(param, meta_iter_))) {
|
} else if (OB_FAIL(lob_ctx.lob_meta_mngr_->scan(param, meta_iter_))) {
|
||||||
LOG_WARN("open meta iter failed.");
|
LOG_WARN("open meta iter failed.");
|
||||||
} else {
|
} else {
|
||||||
last_data_buf_len_ = ObLobMetaUtil::LOB_OPER_PIECE_DATA_SIZE;
|
last_data_buf_len_ = OB_MIN(ObLobMetaUtil::LOB_OPER_PIECE_DATA_SIZE, param.byte_size_);
|
||||||
last_data_ptr_ = reinterpret_cast<char*>(param.allocator_->alloc(last_data_buf_len_));
|
last_data_ptr_ = reinterpret_cast<char*>(param.allocator_->alloc(last_data_buf_len_));
|
||||||
if (OB_ISNULL(last_data_ptr_)) {
|
if (OB_ISNULL(last_data_ptr_)) {
|
||||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||||
|
|||||||
Reference in New Issue
Block a user