Timeouts With MySql

43 views
Skip to first unread message

Tim Scott

unread,
Apr 4, 2011, 10:22:33 AM4/4/11
to nhusers
I have migrated my app from SQL Server to MySql. All seems well except
I'm getting intermittent TimeoutExceptions. I find a lot of info about
this timeouts with MySql and even one blog post about timeouts with
Hibernate + MySql + C3PO (whatever that is), but nothing about how to
tweak NHib to stop this problem. Thoughts?

Here's the stack trace:

NHibernate.TransactionException: Begin failed with SQL exception --->
System.TimeoutException: A connection attempt failed because the
connected party did not properly respond after a period of time, or
established connection failed because connected host has failed to
respond ---> System.IO.IOException: Unable to read data from the
transport connection: A connection attempt failed because the
connected party did not properly respond after a period of time, or
established connection failed because connected host has failed to
respond. ---> System.Net.Sockets.SocketException: A connection attempt
failed because the connected party did not properly respond after a
period of time, or established connection failed because connected
host has failed to respond
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset,
Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32
offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32
offset, Int32 size)
at MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
--- End of inner exception stack trace ---
at MyNetworkStream.HandleOrRethrowException(Exception e)
at MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.TimedStream.Read(Byte[] buffer, Int32
offset, Int32 count)
at System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32
count)
at MySql.Data.MySqlClient.MySqlStream.ReadFully(Stream stream,
Byte[] buffer, Int32 offset, Int32 count)
at MySql.Data.MySqlClient.MySqlStream.LoadPacket()
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.ReadOk(Boolean read)
at MySql.Data.MySqlClient.NativeDriver.SetDatabase(String dbName)
at MySql.Data.MySqlClient.Driver.SetDatabase(String dbName)
at MySql.Data.MySqlClient.MySqlConnection.ChangeDatabase(String
databaseName)
at MySql.Data.MySqlClient.MySqlConnection.Open()
at NHibernate.Connection.DriverConnectionProvider.GetConnection()
at NHibernate.AdoNet.ConnectionManager.GetConnection()
at NHibernate.Impl.SessionImpl.get_Connection()
at NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel
isolationLevel)
--- End of inner exception stack trace ---
at NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel
isolationLevel)
at NHibernate.Transaction.AdoTransaction.Begin()
at NHibernate.AdoNet.ConnectionManager.BeginTransaction()
at NHibernate.Impl.SessionImpl.BeginTransaction()

BTW, sorry about the cross-post. I should have know to post here
first. StackOverflow:
http://stackoverflow.com/questions/5520468/nhibernate-mysql-intermittent-timeoutexception
Reply all
Reply to author
Forward
0 new messages