Polarion 2304升级后控制图表组件报错求助
Polarion 2304升级后控制图表组件故障排查建议
问题背景
升级Polarion从20H2版本到2304版本后,所有新旧控制图表组件均无法正常工作,抛出数据库连接相关错误,而Polarion其他功能(如其他组件、Lucene查询)运行正常。
前端显示错误
There was an exception (see server log for details) ERROR: The following error occurred during execution on pg server: (SQL State) 08001 : could not establish connection Hint: Please contact your Administrator. See PostgreSQL logs for more details. Where: PL/pgSQL function lucene_query(character varying,character varying,character varying) line 11 at RAISE
完整服务器日志
2023-09-26 10:45:13 BST polarion_history ERROR: The following error occurred during execution on pg server: (SQL State) 08001 : could not establish connection 2023-09-26 10:45:13 BST polarion_history HINT: Please contact your Administrator. See PostgreSQL logs for more details. 2023-09-26 10:45:13 BST polarion_history CONTEXT: PL/pgSQL function lucene_query(character varying,character varying,character varying) line 11 at RAISE 2023-09-26 10:45:13 BST polarion_history STATEMENT: SELECT WORKITEM.C_URI, MIN(WORKITEM.C_UPDATED) FROM LUCENE_QUERY('WorkItem', $1, 'updated') QUERY, WORKITEM WHERE QUERY.C_PK=WORKITEM.C_URI AND WORKITEM.C_STATUS IN ($2) GROUP BY WORKITEM.C_URI 2023-09-26 10:45:13 BST polarion_history ERROR: The following error occurred during execution on pg server: (SQL State) 08001 : could not establish connection 2023-09-26 10:45:13 BST polarion_history HINT: Please contact your Administrator. See PostgreSQL logs for more details. 2023-09-26 10:45:13 BST polarion_history CONTEXT: PL/pgSQL function lucene_query(character varying,character varying,character varying) line 11 at RAISE 2023-09-26 10:45:13 BST polarion_history STATEMENT: SELECT WORKITEM.C_URI, MIN(WORKITEM.C_UPDATED) FROM LUCENE_QUERY('WorkItem', $1, 'updated') QUERY, WORKITEM WHERE QUERY.C_PK=WORKITEM.C_URI AND WORKITEM.C_STATUS IN ($2) GROUP BY WORKITEM.C_URI 2023-09-26 10:45:34 BST polarion ERROR: INSERT has more expressions than target columns at character 71 2023-09-26 10:45:34 BST polarion STATEMENT: INSERT INTO Revision VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) 2023-09-26 10:45:36 BST polarion_history ERROR: INSERT has more expressions than target columns at character 71 2023-09-26 10:45:36 BST polarion_history STATEMENT: INSERT INTO Revision VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) 2023-09-26 10:45:58 BST polarion_history ERROR: The following error occurred during execution on pg server: (SQL State) 08001 : could not establish connection
错误分析
lucene_query函数连接失败:SQL状态码08001表示PostgreSQL无法建立到外部服务的连接,这里是PL/pgSQL函数lucene_query尝试连接Lucene服务失败,而Polarion直接调用Lucene正常,说明函数内的连接配置存在问题。- Revision表插入列不匹配:日志显示INSERT语句提供的列数超过表的实际列数,说明升级过程中
Revision表结构未正确更新,导致新的插入逻辑与旧表结构冲突。
排查修复步骤
- 重新执行数据库升级脚本:
备份数据库后,找到Polarion 2304版本对应的数据库升级脚本(通常在安装包的database目录下),手动执行所有未完成的升级步骤,重点检查Revision表结构更新和lucene_query函数的重新部署。 - 校验
lucene_query函数配置:
登录PostgreSQL,查看lucene_query函数的源代码,确认函数中连接Lucene服务的地址、端口和认证参数是否与当前Polarion配置一致,同时确保PostgreSQL服务器能访问Lucene服务所在的网络端口。 - 同步
Revision表结构:
对比Polarion 2304官方文档中Revision表的结构定义,手动调整当前数据库中的Revision表,添加缺失的列或调整列属性,确保与新的插入语句匹配。 - 重启服务:
重启Polarion应用服务器和PostgreSQL服务,清除连接池缓存,确保配置更新生效。 - 检查PostgreSQL详细日志:
查看PostgreSQL的核心日志文件,定位08001错误的具体原因(如网络不通、认证失败、Lucene服务未响应等),针对性解决连接问题。
内容的提问来源于stack exchange,提问作者Julien Llanes
相关产品推荐
相关产品推荐

