![]() ![]() Perhaps we can find a way to remove some indexes, or make them better so the queries run more quickly. Post back here what indexes you have, and what the queries are doing. If you see any queries stick in the list for a few clicks, they’re taking too long. In the MySQL administrator, go to the connections panel, and hit refresh a number of times. ![]() Also, copy the query out and run it in the mysql query browser to see how long it takes. ![]() The will probably be set to “poll” at some rate- if it’s “relative”, it’s probably 1 or 2 seconds. Find the components that are bound to the database.Run “select count(*) from alertlog”, with the proper table name, of course.This should bring up the table structure, and show you what indexes are defined. Use the mysql query browser or administrator, and find the alert log table (probably “alertlog”).I know, you’re probably saying to yourself “what the heck! I don’t know any of that!”, but here’s what you can do: How frequently are you querying the table? How long are the queries taking?.What indexes are defined for the alert log table?.Frequent querying, or unoptimized queries that take some time, can lead to many more of these deadlock errors when the other side tries to write. Since you’re using the data for display, I know you’re doing some sort of querying. There are ways to track down what exactly is happening in Mysql, but I think I can guess: there are multiple indexes on that table, and you have several (many?) clients polling it for information. The database assumes that the program will just try again, which is too bad… because we can’t always do that (or simply don’t). Between reading and writing, these types of deadlocks can occur, and the database detects them, throws an error, and keeps going. The problem is, though, that it’s not considered a “serious” error, so MySQL wouldn’t say anything. Are there tricks to getting the log data out from the log viewer without retyping it all? Also, when I tried to Export To File the log, it just created a 3 line XML file with none of the logging information. It looks like the error could have come from MySQL, but the MySQL logs don’t show anything around that time.Īnyone have any ideas on how to track down the root cause and/or ensure that the issue won’t happen again? (It makes me look bad when obviously all the sites are down but there is still one green dot on the map )Īs an aside, I couldn’t select the log text from the log viewer, so I couldn’t copy paste it here. MySqlException: Deadlock found when trying to get lock try restarting transactionĪt .CheckForError()Īt .ReadHeader()Īt .OpenPacket()Īt .ReadResult(blah, blah)Īt .ReadNextResult()Īt .ctor(blah.)Īt .SendQuery(blah.)Īt .GetNextResultSet(bah)Īt .Consume(bah)Īt .ExecuteNonQuery(bah)Īt (blah)Īt (bah) I’ve recreated the log here:Įrror executing update query: Deadlock found when trying to get lock try restarting transactionĪt (DBConnectionID ConnectionID, String Query, IDbDataParameter Parameters, Int32 Timeout)Īt (blah, blah) The FSQL log facility had only 1 entry in it, at the time of the failure. All these sites have alarms configured, and they all generated the proper alarm except for 1 site. ![]() This afternoon we had a communication failure knock out many sites we have. First off, I know FSQL is old school, but it’s not up to me what version of what we run ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |