Overview
In this blog post, we examine the “Broken Pipe” log message from the Tungsten Connector. We describe possible causes, and discuss the differences between Bridge and Proxy mode authentication methods.
Recently a Customer Asked
Recently a customer asked us:
We noticed an error in the
connector.log
file for the Tungsten Connector after migrating from Proxy to Bridge mode:MySQLBridge Broken pipe on Application -> MySQL Server connection
Additionally, we have observed in the MySQL Server
SHOW PROCESSLIST
output that there is oneunauthenticated user
row for each Connector node displayed.
Why Does Bridge Or Proxy Mode Matter?
Bridge mode moves authentication from the Connector and the user.map
file back to the MySQL Server itself, because Bridge mode simply forwards TCP packets and does not intercept the client MySQL request at application layer like it does in Proxy mode.
What Does the “Broken Pipe” Error Mean?
At the most basic level, the “Broken Pipe
“ error could be from a long network drop breaking the connection, a timeout from an inactive client connection or the application itself ended without properly terminating the connection.
What Could Be Causing This to Happen?
Both of the issues presented (log entries and unauthenticated user) have the same source: monitoring software.
"Something" opens a connection to the Connector TCP port, but does not speak the MySQL protocol, so no authentication is done (thus the unauthenticated user), nor is a proper disconnect (that's where you see the logs reporting unexpected connection closure with a broken pipe). This most probably is a F5 or monitoring soft/hard-ware that checks whether the Connector is alive.
In this case, there was a change from Proxy to Bridge mode.
In Proxy mode, the monitoring calls would have been processed at the Tungsten Connector and logged to the connector.log
file instead of going directly to the database server for authentication (Bridge mode) and creating the unauthenticated user
rows.
Proxy mode error log entries would look like the following:
ERROR MySQLPacket [ProxyMode - Application to connector: Reading auth packet] I/O error while reading from socket
and SHOW PROCESSLIST
would not show any entry for this particular connection.
Wrap-Up
In this blog post, we examined the “Broken Pipe
” log message from the Tungsten Connector. We described possible causes, and discussed the differences between Bridge and Proxy mode authentication methods.
Comments
Add new comment