Yesterday, I got great help from this site, (thank you Brandon and Pierre)
and the key suspect in a solution was the BAQ TIMEOUT.
The summary was this
When a BAQ request was OVER 30000 ms (30 secs) an ERROR occurred.
When a BAQ request was UNDER 30000 ms (30 secs)
OR the internal BAQ timeout limit was set to 40000000,
there was NO ERROR.
We confirmed our Epicor application servers* had a
BAQ QueryTimeout set to 500 or set to 0 (unlimited).
We have multiple app servers.
We confirmed our MS-SQL Remote Query setting is at 600 seconds.
So neither of these is close to 30 seconds.
So IS there another TIMEOUT setting somewhere?
Open the Epicor Administration Console, right-click on the environment generating BAQ timeouts and select Application Server Settings. There, I suggest you enter 3600 for the BAQ timeout setting.
Alex
Thank you for the reply.
And this is the setting i mentioned in my post and is set to 500 or 0
my experienced BAQ timeout was at 30 secs
i am trying to resolve the apparent difference.
Zero does not mean āinfiniteā for query execution. We prevented this ādefaultā behavior for server process safe and long life reasons.
When you set 0 in queryTimeout config BAQ engine uses āmagicā 30 second timeout value.
Not sure if you know this but you can set a timeout value on the BAQ itself.
In the BAQ designer, goto Actions then Execution Settings. By default the timeout parameter is not there, you have to add it. Click on the new button and put Timeout in the setting name and a value.
Note: screen shot is from external BAQ but I am pretty sure the normal BAQ is the same.
If 0 is set on BAQ query timeout (app server settings) then it will be because it is hitting the .Net timeout of 30 seconds. Have a look at this KB0029725.
Some items in the Administration Tool are available directly in the product, like the License Tracker. However, Mark is correct that you do not have access to any of the settings in the .webconfig file.
Separately, if your query is running more than 30 seconds, thereās probably a better way to write the BAQ or a another way to solve the problem youāre working on. On prem resources feel infinite and we can get sloppy on our coding. In the old days, we used to work to save bytes in memory (PIC 999 comp-3 anybody?) but then memory got cheaper. And man, do we use memory now.
The bargain with cloud computing is that you control your costs and only get charged for what you use. Epicor SaaS gives you the best of both worlds. They pay the usage fee no matter how much you use. So itās in their right to limit poor coding.
A straight query pulling all of your data from the Parttran or GLjrndtl is not āpoor codingā. Itās a poor driver that says āyou can have access to your data when in the cloud, but only 30 seconds of access. If your data grows beyond that, your are out of luckā
Iām running into a similar issue where the Epicor Admin Console, and BAQ Execution Parameters seem to have no affect and a 30 second timeout is applied to my report.
Hi,
Totally right, agree with @PaulMorgan, we had this issue 3 months ago when all first BAQ done during implementation has the timeout error when executing, on SaaS is very simple to modify this time set, follow KB0029725 as said and also, my personal recommendation, try to add a date or any other kind of filter to shorter the execution of each BAQ to get better performance.