Hello Maja,
I’m not shure but guess the following.
Light Cleanup job should run every 10 min = second job. It normally takes around 3-4 seconds.
MV refresh background job every 60 min = first job.
How long does it take?
The moment your second job tries to read data from the MW, ORACLE need a “finished” MV.
If the creation is still in process this could be a dead lock situation on database level.
I suggest you talk to an ORACLE admin.
If not possible try this workaround.
Do not schedule the second job every 10 Minutes but every 15 Minutes and start 5 minutes before the first job is scheduled. So at least it got 9 Minutes to finish.
By the way: what kind of data you are using for what kind of purpose?
(“improve performance to display large amounts of data by using Materialized View (MV):”)
All the best
Michael
PS:
If you dig deeper into IFS you will find uge amounts of APIs creating data “on the flight”.
For keeping an IFS mask filled with customer data, customer order, shop order, etc. absolutely fine.
For getting a large amount of data … hmmm.
So IFS created the workaround MV I would like to ask
what kind of SELECT command you are using and what APIs are within this Select.
We learned the hard way that some APIs are really performance killers, some others not bad at all.
Hi Michael,
thank you for taking the time to reply and sharing good tips.
The MV refresh is a long job and it will keep growing in time because IFS implemented it such that it refreshes all rows, not working incrementally. Currently, the MV refresh takes roughly 44 min. to finish.
Both jobs run in two separate queues (we moved them out from the Default Queue), so they are not blocking each other. However, there is some possibility they may be in a deadlock from time to time (we have no proof of it currently, but will check with IFS Cloud).
Looking at your suggestion, I assume you are aiming at preventing the jobs from running concurrently. One way to go about it might be to schedule the Light Cleanup once per hour. With many thousands of users of the ERP, I would be hesitant to decrease the frequency too much, but of course it is one way to check - thank you for the idea.
I do not have details of the code delivered - this is all in the hands of IFS. The data set was apparently large and the system did not cope well with calculations in several columns on the flight, so MV was the best option to take. I would like to see it improved, so that the refresh is done incrementally.
Do we have any other experiences in the Community? Perhaps we are not the only ones with similar issues.