corda CENM网络地图服务器在运行几周后开始无法连接数据库



我们操作CENM(1.2,使用helm模板在k8s集群上运行(来构建我们自己的专用网络,并持续运行CENM网络地图服务器几周,然后启动新节点失败。

经过进一步调查,似乎请求超时http://nmap:10000/network-地图造成了问题。

在nmap服务器的日志中,当使用curl访问上面的url时,我们发现了以下输出。

[NMServer] - Error while handling socket client message com.r3.enm.servicesapi.networkmap.handlers.LatestUnsignedNetworkParametersRetrievalMessage@760c53ea: HikariPool-1 - Connection is not available, request timed out after 30000ms.

netstat显示至少有3个从网络地图服务器运行的容器建立到数据库的连接,我也可以使用CLI直接连接数据库。

所以我认为这既不是数据库饱和的问题,也不是网络配置的问题。

有人知道为什么会发生这种事吗?我认为重启可能会解决问题,但我想知道根本原因。。。

问候,

请测试以下选项。

由于是HikariCP(连接池(组件抛出了错误,因此值得一看的是,在网络地图配置中增加池大小是否会有所帮助-见下文(

Corda使用Hikari池来创建连接池。要配置连接池,可以在dataSourceProperties部分设置任何自定义属性。

dataSourceProperties = {
dataSourceClassName = "org.postgresql.ds.PGSimpleDataSource"
...
maximumPoolSize = 10
connectionTimeout = 50000
}

是否进行了健康检查以验证postgres数据库上是否有足够的资源,即基本诊断检查?

从网络地图服务获取更多记录信息的另一个选项是使用TRACE日志运行:

发件人https://docs.corda.net/docs/cenm/1.2/troubleshooting-common-issues.html

启用调试/跟踪日志记录

通过启动时传递的命令行标志,每个服务都可以配置为使用更深的日志级别运行:

java -DdefaultLogLevel=TRACE -DconsoleLogLevel=TRACE -jar <enm-service-jar>.jar --config-fi

最新更新