odc查看执行画像报错

【 使用环境 】 测试环境
【 OB or 其他组件 】odc
【 使用版本 】4.3.4_bp3_20250729
【问题描述】在sql窗口执行sql后查看执行画像有的时候报错,即使同一个sql有的时候成功有的时候失败,失败的时候报错如下:

@和顺(Tom) odc 执行结果点击执行画像,同一个sql有的时候会报错

2 个赞

这个报错是因为该sql在gv$ob_sql_plan 视图中没查到这条 sql 的执行计划导致的
可以手动查一下看看是否能查询到执行计划

学习了,感谢分享

学习下

查询执行计划是有的,而且我执行的是同一个sql,一会能看到执行画像,一会看不到执行画像

当前集群的业务量大么,gv$ob_sql_plan存在淘汰机制

请求量每秒2000千左右,我们的资源还是挺充分的,不至于缓存计划生成很快就淘汰了,而且从结果看查询请求是11点09的,执行计划是2026-01-07 10:44:30.029146生成的

odc的查询sql为
select svr_ip,svr_port,tenant_id,plan_id from oceanbase.gv$ob_sql_audit where trace_id= ? and is_inner_sql=0 limit 1;
麻烦手动多执行下看看是否存在查询异常情况

多次执行都没问题,大概都是3秒出结果,但是执行画像,一会好一会不好,我f12看了下结果是报500了,logr日志报Failed to get profile with OB trace_id=YB420A012B71-0006478D75DF6B5E-0-0.但是为啥会失败呢?

对应的odc的log日志报错如下:
[2026-01-07 16:34:06.477 CST][http-nio-8989-exec-95][43a968f2fa184fbc,O0OBN5D03K913TRR5XGJGP][WARN][com.oceanbase.odc.service.queryprofile.OBQueryProfileManager][107]: Failed to get profile with OB trace_id=YB420A012B71-0006478D75DF6B5E-0-0.
com.oceanbase.odc.core.shared.exception.VerifyException: plan records expected not empty, plan id=69979
at com.oceanbase.odc.core.shared.Verify.verify(Verify.java:35) ~[odc-core-4.3.4-20250729.jar!/:?]
at com.oceanbase.odc.core.sql.util.OBUtils.queryOBSqlPlanByPlanId(OBUtils.java:546) ~[odc-core-4.3.4-20250729.jar!/:?]
at com.oceanbase.odc.plugin.connect.obmysql.OBMySQLDiagnoseExtension.getPlanGraph(OBMySQLDiagnoseExtension.java:286) ~[?:?]
at com.oceanbase.odc.plugin.connect.obmysql.OBMySQLDiagnoseExtension.getQueryProfileByTraceIdAndSessIds(OBMySQLDiagnoseExtension.java:231) ~[?:?]
at com.oceanbase.odc.service.queryprofile.OBQueryProfileManager.lambda$getProfile$2(OBQueryProfileManager.java:105) ~[odc-service-4.3.4-20250729.jar!/:?]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:381) ~[spring-jdbc-5.3.26.jar!/:5.3.26]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:406) ~[spring-jdbc-5.3.26.jar!/:5.3.26]
at com.oceanbase.odc.core.sql.execute.GeneralSyncJdbcExecutor.execute(GeneralSyncJdbcExecutor.java:71) ~[odc-core-4.3.4-20250729.jar!/:?]
at com.oceanbase.odc.service.queryprofile.OBQueryProfileManager.getProfile(OBQueryProfileManager.java:102) [odc-service-4.3.4-20250729.jar!/:?]
at com.oceanbase.odc.service.diagnose.SqlDiagnoseService.getQueryProfile(SqlDiagnoseService.java:114) [odc-service-4.3.4-20250729.jar!/:?]
at com.oceanbase.odc.server.web.controller.v1.SqlDiagnoseController.getQueryProfile(SqlDiagnoseController.java:106) [classes!/:?]
at com.oceanbase.odc.server.web.controller.v1.SqlDiagnoseController$$FastClassBySpringCGLIB$$e978a16e.invoke() [classes!/:?]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) [spring-core-5.3.26.jar!/:5.3.26]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) [spring-aop-5.3.27.jar!/:5.3.27]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) [spring-aop-5.3.27.jar!/:5.3.27]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) [spring-aop-5.3.27.jar!/:5.3.27]
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) [spring-aop-5.3.27.jar!/:5.3.27]
at com.oceanbase.odc.service.audit.AuditEventAspect.aroundEventAudit(AuditEventAspect.java:155) [odc-service-4.3.4-20250729.jar!/:?]
at sun.reflect.GeneratedMethodAccessor335.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_312]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_312]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634) [spring-aop-5.3.27.jar!/:5.3.27]
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624) [spring-aop-5.3.27.jar!/:5.3.27]
at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72) [spring-aop-5.3.27.jar!/:5.3.27]