[CP] return 4013 when allocate iocb failed

This commit is contained in:
simonjoylet
2023-08-21 10:17:45 +00:00
committed by ob-robot
parent 2795bef23c
commit 56c6de341c

View File

@ -634,9 +634,11 @@ int ObIORequest::prepare()
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
ObTimeGuard tg("prepare", 100000); //100ms ObTimeGuard tg("prepare", 100000); //100ms
if (OB_ISNULL(control_block_) if (OB_ISNULL(io_info_.fd_.device_handle_)) {
&& (OB_ISNULL(io_info_.fd_.device_handle_) || OB_ISNULL(control_block_ = io_info_.fd_.device_handle_->alloc_iocb()))) {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_UNEXPECTED;
LOG_WARN("device handle is null", K(ret), K(*this));
} else if (OB_ISNULL(control_block_) && OB_ISNULL(control_block_ = io_info_.fd_.device_handle_->alloc_iocb())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_WARN("alloc io control block failed", K(ret), K(*this)); LOG_WARN("alloc io control block failed", K(ret), K(*this));
} else if (FALSE_IT(tg.click("alloc_iocb"))) { } else if (FALSE_IT(tg.click("alloc_iocb"))) {
} else if (OB_ISNULL(io_buf_) && OB_FAIL(alloc_io_buf())) { } else if (OB_ISNULL(io_buf_) && OB_FAIL(alloc_io_buf())) {