版本v2.1.1,使用flight sql连接一段时间后,拒绝连接,提示:Reach limit of connections。
退出java应用程序后,使用控制台连接fe,依然提示 Reach limit of connections。怀疑flight sql连接没有释放。
版本v2.1.1,使用flight sql连接一段时间后,拒绝连接,提示:Reach limit of connections。
退出java应用程序后,使用控制台连接fe,依然提示 Reach limit of connections。怀疑flight sql连接没有释放。
最新状态:2.1.3 版本已修复。
这个 PR 预期修复 Reach limit of connections的问题;
https://github.com/apache/doris/pull/32911
原因:
之前 flight sql 的连接如果客户端没有主动释放,默认3天超时释放(fe.conf中的 arrow_flight_token_alive_time)
修复后:
flight sql连接数超过上限(默认qe_max_connection/2,每个 FE 的最大连接数)后,会按时间顺序关闭最早的连接
观察一下Doris集群的链接connections,是不是达到最大的限制。
根据情况调整一下参数:
fe.config
qe_max_connection
默认值:1024
每个 FE 的最大连接数
max_user_connections
用户最大的连接数,默认值为100。一般情况不需要更改该参数,除非查询的并发数超过了默认值。
升级2.1.3后,arrow_flight_token_cache_size确实起作用了,但不知道arrow_flight_token_alive_time干什么用的,是超过默认的3天删除连接吗?从实际情况看,三天之后并没有删除连接,用show full processlist还是能看到三天前的连接。