Scaling stack size during operator closing

This commit is contained in:
18523270951@163.com
2024-07-03 14:38:32 +00:00
committed by ob-robot
parent 055a85eb8f
commit da2bc95b50

View File

@ -1062,15 +1062,12 @@ int ObOperator::close()
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
int child_ret = OB_SUCCESS; int child_ret = OB_SUCCESS;
if (OB_FAIL(check_stack_overflow())) {
LOG_WARN("failed to check stack overflow", K(ret));
} else {
OperatorOpenOrder open_order = get_operator_open_order(); OperatorOpenOrder open_order = get_operator_open_order();
if (OPEN_SELF_ONLY != open_order) { if (OPEN_SELF_ONLY != open_order) {
//first call close of children //first call close of children
for (int64_t i = 0; i < child_cnt_; ++i) { for (int64_t i = 0; i < child_cnt_; ++i) {
// children_ pointer is checked before operator open, no need check again. // children_ pointer is checked before operator open, no need check again.
int tmp_ret = children_[i]->close(); int tmp_ret = SMART_CALL(children_[i]->close());
if (OB_SUCCESS != tmp_ret) { if (OB_SUCCESS != tmp_ret) {
ret = OB_SUCCESS == ret ? tmp_ret : ret; ret = OB_SUCCESS == ret ? tmp_ret : ret;
LOG_WARN("Close child operator failed", K(child_ret), "op_type", op_name()); LOG_WARN("Close child operator failed", K(child_ret), "op_type", op_name());
@ -1094,7 +1091,6 @@ int ObOperator::close()
} }
} }
#endif #endif
}
return ret; return ret;
} }