Enable skip kvcache in temporary file read procedure.

This commit is contained in:
ND501
2024-02-05 03:12:22 +00:00
committed by ob-robot
parent aabbf9b9fb
commit 785702ef23
6 changed files with 155 additions and 45 deletions

View File

@ -24,7 +24,9 @@ namespace blocksstable
{
ObTmpFileIOInfo::ObTmpFileIOInfo()
: fd_(0), dir_id_(0), size_(0), io_timeout_ms_(DEFAULT_IO_WAIT_TIME_MS), tenant_id_(OB_INVALID_TENANT_ID), buf_(NULL), io_desc_()
: fd_(0), dir_id_(0), size_(0), io_timeout_ms_(DEFAULT_IO_WAIT_TIME_MS),
tenant_id_(OB_INVALID_TENANT_ID), buf_(NULL), io_desc_(),
disable_page_cache_(false)
{
}
@ -61,6 +63,7 @@ ObTmpFileIOHandle::ObTmpFileIOHandle()
is_read_(false),
has_wait_(false),
is_finished_(false),
disable_page_cache_(false),
ret_code_(OB_SUCCESS),
expect_read_size_(0),
last_read_offset_(-1),
@ -86,7 +89,8 @@ int ObTmpFileIOHandle::prepare_read(
char *read_buf,
int64_t fd,
int64_t dir_id,
uint64_t tenant_id)
uint64_t tenant_id,
bool disable_page_cache)
{
int ret = OB_SUCCESS;
if (OB_ISNULL(read_buf)) {
@ -103,6 +107,7 @@ int ObTmpFileIOHandle::prepare_read(
expect_read_size_ = read_size;
last_read_offset_ = read_offset;
io_flag_ = io_flag;
disable_page_cache_ = disable_page_cache;
if (last_fd_ != fd_) {
last_fd_ = fd_;
last_extent_id_ = 0;
@ -812,7 +817,8 @@ int ObTmpFile::aio_read_without_lock(const ObTmpFileIOInfo &io_info,
io_info.buf_,
file_meta_.get_fd(),
file_meta_.get_dir_id(),
io_info.tenant_id_))){
io_info.tenant_id_,
io_info.disable_page_cache_))) {
STORAGE_LOG(WARN, "fail to prepare read io handle", K(ret), K(io_info), K(offset));
} else if (OB_UNLIKELY(io_info.size_ > 0 && offset >= tmp->get_global_end())) {
ret = OB_ITER_END;