Randomly Getting "Got an error reading communication packets"

I have been getting this error a dozen a day or so. I’ve googled for advice and don’t see anything helpful.

140725 1:45:29 [Warning] Aborted connection 406119665 to db: ‘XXX’ user: ‘trans_user’ host: ‘XXX.XXX.X.XX’ (Got an error reading communication packets)

The client reports:
Failed to get head revision: (OperationalError) (2013, “Lost connection to MySQL server at ‘reading authorization packet’, system error: 0”) None None

I have Percona 5.5.16 Version Runnig on Centos5
It is fronted by HAProxy.

My CNF:

innodb_log_buffer_size=64M
innodb_log_file_size=1G
skip-name-resolve
max_connections=1000
max_allowed_packet=64M
net_read_timeout=1800
net_write_timeout=1800
connect_timeout=60
back_log=1500

The question: where else can I look for the reason?

Is this on a slave?
Do you have multiple slaves?

If yes to both, try change the slave server id in my.cnf to something else, and restart mysql

alaincraven, No this is not slave. But for info all my Slave have different unique serverid’s. The error Failed to get head revision: (OperationalError) (2013, “Lost connection to MySQL server at ‘reading authorization packet’, system error: 0”) None None comes from the java/python application error log.

The ‘reading authorization packet’ error indicated it was during the login/authorization step. However, the server error showed the client connection had already being made with a thread id. Can you verify that these client and server errors happened at the same time?

For the server side error, it is generally due to client program terminated abruptly, or didn’t call mysql_close() before exiting, or idle for too long, or network failure. You can refer to the documentation at [url]http://dev.mysql.com/doc/refman/5.6/en/communication-errors.html[/url].

The server error log gives the aborted thread id. You may run “show processlist” periodically to check if the thread indeed idle for longer than (interactive_timeout, wait_timeout). Or turn on general query log to track the activity of the thread. And do a network audit as well.

Thanks psong. I guess i have to check my network layer for the solution.