是否支持指定queryId

【详述】Starrocks是否支持在请求中指定queryId,例如JDBC中设置queryId参数

可以描述下你的场景吗?为什么需要支持这个?

你是想直接知道发起查询的query_id把, 可以执行
select last_query_id()
得到上次查询的query_id。

在做整个系统的全链路追踪,想把traceId作为queryId传入

select last_query_id() 这种方法,能满足需求吗?

估计不行,同一个user同时提交2sql就不准确了

这个是取得Session级别的,不是User级别的

这个要等当前sql执行完再执行这个select last_query_id() 才是使用当前session吧,这样是不是太晚了?比如想实现发现执行很久就主动kill的功能,如果能指定query_id就可以做到了

我们也觉得可以指定这个queryid最好。比如我想从审计日志里查找某个sql中包含指定字符串的那一条精确的sql,用正则匹配函数regexp或者like,会把所有的都带出来,如果能指定queryid就比较方便了,直接根据这个查。

可以使用大查询熔断功能,来做这个kill的功能。

你说的这个需求,也可以通过 select last_query_id()来做,只是不如直接指定来的直接?用起来不方便?

对,这个不太方便的。

这个问题后来是怎么解决的?能自己指定查询id吗?

https://github.com/StarRocks/starrocks/pull/48114 支持了已经