fix unexpected 'plan cache lock conflict' throw by stmt_query()
This commit is contained in:
parent
1ce34a5f01
commit
daeffd0c7a
@ -2885,8 +2885,7 @@ OB_NOINLINE int ObSql::handle_large_query(int tmp_ret,
|
||||
}
|
||||
//实际编译时间判断是否为大请求
|
||||
if (OB_SUCC(ret) && is_large_query == false) {
|
||||
if (OB_PC_LOCK_CONFLICT == tmp_ret
|
||||
|| (0 != lqt && elapsed_time > lqt)) {
|
||||
if (0 != lqt && elapsed_time > lqt) {
|
||||
is_large_query = true;
|
||||
lq_from_plan = false;
|
||||
}
|
||||
@ -4166,13 +4165,6 @@ int ObSql::pc_get_plan(ObPlanCacheCtx &pc_ctx,
|
||||
|| OB_BATCHED_MULTI_STMT_ROLLBACK == ret
|
||||
|| OB_NEED_SWITCH_CONSUMER_GROUP == ret) {
|
||||
/*do nothing*/
|
||||
} else if (!(PC_PS_MODE == pc_ctx.mode_ || PC_PL_MODE == pc_ctx.mode_)
|
||||
&& OB_PC_LOCK_CONFLICT == ret
|
||||
&& !session->is_inner()) {
|
||||
//不是ps模式, 不是inner sql, 且plan cache锁超时, 后面会放入大查询队列列,
|
||||
//是ps模式或inner sql, 则不能丢队列, 走硬解析,
|
||||
//ps暂不支持丢入大查询丢列, TODO shengle 后面单独添加,
|
||||
//inner sql不能丢入大查询队列, 因为有可能上层查询已有数据返回客户端
|
||||
} else {
|
||||
get_plan_err = ret;
|
||||
int tmp_ret = OB_SUCCESS;
|
||||
|
Loading…
x
Reference in New Issue
Block a user