优化建议:range分区时,表达式unix_timestamp,后续SQL中带有分区键,obproxy无法准确定位observer节点,需要observer二次路由

【 使用环境 】生产环境 and 测试环境
【 OB or 其他组件 】obproxy
【 使用版本 】all
【问题描述】range分区,选择表达式unix_timestamp,然后执行的所有带分区的sql,在obproxy都会留3行info日志。
日志内容:
第一行:invalid argument
第二行:fail to do expr resolve 。。。。。。
第三行:fail to calculate partition id ,just use tenant server
大概意思是obproxy无法准确定位observer节点,需要observer二次路由才可以准确找到分区所在节点。这导致obproxy进行了解析路由,observer再次路由,还会出现remote sql,从而出现带分区键值SQL性能忽快忽慢
【复现路径】表中有一个字段是timestamp类型,标识range分区,分区表达式是unix_timestamp(column),然后增删改查SQL中带分区键值,obproxy中会留一个info级别的日志,大意是无法路由,会进行随机下发。
【问题现象及影响】
带分区键值SQL性能忽快忽慢,并且将日志盘打爆。设置了日志总数后,日志滚动非常快,查问题根据看不了几分钟的日志,就滚动没了。

希望尽快优化,将该类型的SQL,可以通过obproxy一次准确路由到具体分区所在的observer

后续SQL是指一个事务中的第二个和后面的SQL查询吗?

不是,意思是建表选择range分区,选择表达式unix_timestamp,然后执行的所有带分区的sql,在obproxy都会留3行info日志。
日志内容:
第一行:invalid argument
第二行:fail to do expr resolve 。。。。。。
第三行:fail to calculate partition id ,just use tenant server

带分区键值SQL性能忽快忽慢,并且将日志盘打爆。设置了日志总数后,日志滚动非常快,查问题根据看不了几分钟的日志,就滚动没了。