I tried to search on AbstractDBCommand and found some threads about queries timing out and basically the answer was…fix the indexes on the tables so the query does not time out.
However, what about when you have no control over those queries, nor the database for that matter?
PLUS, queries are going to time out from time to time…Such as when someone selects the last 10 years of Mcdonalds orders across all stores
What I am experiencing is that when I am running the CLIENT and everything is showing just fine, then
someone goes to a screen and asks for data over a date range, the query just times out. Then the ENTIRE client shows all red boxes on every control on every screen that is tied to a tag. It never recovers. You can still navigate screen to screen, but the only way to get your CLIENT functioning again is to shut it down and restart it.
Here is what I get in the log:
|Exception executing query [MSSQL] SELECT TOP 10000 MIN(MESMaterialLot.“MESMaterialLotUUID”) AS “MESMaterialLotUUID”,MESMaterialLot.“Name” FROM MESMaterialLot INNER JOIN MESResponseMaterialProperty ON MESResponseMaterialProperty.“LotRefUUID”= MESMaterialLot.“MESMaterialLotUUID” WHERE MESMaterialLot.“Enabled”= 1 AND ( (MESResponseMaterialProperty.“LotBeginDateTime”>=‘20200729 17:05:16’ AND MESResponseMaterialProperty.“LotEndDateTime”<=‘20200805 17:05:16’) OR MESResponseMaterialProperty.“LotEndDateTime” IS NULL) AND MESMaterialLot."Name"LIKE ‘____________________’ ESCAPE ‘’ GROUP BY MESMaterialLot.“Name”|
I have copied this query into sql query analyzer and it take 14 minutes to come back, but it does eventually come back. I am guessing that IGNITION will not wait 14 minutes. Probably something more like 60 second, but I do not know for sure.
I can’t believe that in IGNITION if a query times out, then the entire CLIENT is broken. Is there some other LOG or something I should be looking at to see if there is more detail?