我正在尝试在Corda中设置percona集群(mysql)以实现高可用性,我配置了其他所有内容,同时尝试使Corda节点(公证人)出现以下错误:
com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Buffer length is less then expected payload length.
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:512) ~[HikariCP-2.5.1.jar:?]
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:105) ~[HikariCP-2.5.1.jar:?]
at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:71) ~[HikariCP-2.5.1.jar:?]
at net.corda.node.services.transactions.MySQLUniquenessProvider.<init>(MySQLUniquenessProvider.kt:122) ~[corda-node-3.2.jar:?]
at net.corda.node.services.transactions.MySQLNotaryService.<init>(MySQLNotaryService.kt:28) ~[corda-node-3.2.jar:?]
at net.corda.node.services.transactions.MySQLNonValidatingNotaryService.<init>(MySQLNotaryService.kt:46) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.AbstractNode$makeCoreNotaryService$1$4.invoke(AbstractNode.kt:861) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.AbstractNode$makeCoreNotaryService$1$4.invoke(AbstractNode.kt:126) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.AbstractNode.makeCoreNotaryService(AbstractNode.kt:861) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.AbstractNode.makeNotaryService(AbstractNode.kt:826) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.AbstractNode.access$makeNotaryService(AbstractNode.kt:126) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.AbstractNode$start$6.invoke(AbstractNode.kt:315) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.AbstractNode$start$6.invoke(AbstractNode.kt:126) ~[corda-node-3.2.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.inTopLevelTransaction(CordaPersistence.kt:173) ~[corda-node-api-3.2.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:158) ~[corda-node-api-3.2.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:136) ~[corda-node-api-3.2.jar:?]
at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:142) ~[corda-node-api-3.2.jar:?]
at net.corda.node.internal.AbstractNode.start(AbstractNode.kt:289) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.Node.start(Node.kt:387) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.EnterpriseNode.start(EnterpriseNode.kt:181) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.NodeStartup.startNode(NodeStartup.kt:270) ~[corda-node-3.2.jar:?]
at net.corda.node.internal.NodeStartup.run(NodeStartup.kt:160) [corda-node-3.2.jar:?]
at net.corda.node.Corda.main(Corda.kt:25) [corda-node-3.2.jar:?]
Caused by: java.sql.SQLException: Buffer length is less then expected payload length.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:545) ~[mysql-connector-java-6.0.6.jar:6.0.6]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513) ~[mysql-connector-java-6.0.6.jar:6.0.6]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:505) ~[mysql-connector-java-6.0.6.jar:6.0.6]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:479) ~[mysql-connector-java-6.0.6.jar:6.0.6]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:489)
答案 0 :(得分:0)
当将(公证节点的)mysql客户端指向用于写集复制通信的percona端口(默认为4567)时,会发生这种情况。
3306是用于MySQLClient连接的默认端口。