Updates cause Lock wait timeout exceeded

We setup a XtraDB cluster with 3 nodes in failover mode. We are using JDBC for the failover and experience a lock issue that shows the following error message:
Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction

It looks like the jdbc driver will failover to the second node even thought the first node is still available. We investigated flow control, but could not find an issue there. Any recommendation on how we can further debug our issue?

We use the following versions:
MySQL 5.1.73
Percona XtraDB 5.6.21
Java MySQL Connector 5.1.18

JDBC Configuration: jdbc:mysql://host1,host2,host3/somedb?useConfigs=maxPerformance&characterEncoding=utf8&connectTimeout=15&autoReconnect=true&autoReconnectForPools=true&failOverReadOnly=false&explainSlowQueries=true

We will change to a setup with HAProxy and see if that resolves the deadlock issues.