mysqlcordapercona-xtradb-cluster

Buffer length is less than expected payload length in mysql percona cluster


I am trying to setup a percona cluster (mysql) in corda for achieving high availability,I configured everything else and while trying to bring the corda node(notary) I am getting below error:

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)  

Solution

  • This happens when pointing the mysql client (of the notary node) to the port of percona that is used for write set replication traffic (4567 per default).

    3306 is the default port used for MySQLClient connections.