当前doris版本为2.0.14,odbc版本为5.3
执行返回如下:
相同sql采用非odbc方式连接或通过mysql client 均能正常执行
删减部分sql后采用odbc方式也能正常返回
通过抓包发现被截断sql内容均位于最后一个报文,怀疑是因为出现了多次PSH,ACK报文后仅获取或拼接首个报文导致后续报文丢失
---------------2024/09/14------------------
当sql字符刚好达到在分片时会分出999长度包与第二个包时fe错误日志如下:
而如果sql更长则会变成这样:
这里面使用的sql都如同下图
select * from table limit 10; 并通过多行注释增加字符长度
后续发现在部分机器上不会出现这个问题,通过对比报文发现存在异常的数据报文中data均被加密
之后通过新增SSLMode字段解决了这个问题,这里配置disabled可以解决问题
怀疑有配置会导致ODBC在未配置SSLMode的情况下默认对报文进行加密,并且与常规加密报文存在不同导致解析出错
---------------2024/09/14 第二次更新------------------
检查fe配置后发现是有人打开了ssl功能,并使用了默认的证书。但是为什么相同的配置下有的机器会启用ssl模式,有的机器不会还没有找到原因