Job Entry slowness and Max DOP

Background: In Job Entry for a large job, expanding the tree as shown below takes about 6-8 seconds. The specific step I mean is expanding ASM 1.

ExpandTreeJobEntry

But sometimes instead of 8 seconds it will take 10-11 MINUTES. And never an amount of time in between. But after that, no more slowness in the screen, till you move to a different job. When this happens, it happens for all users.

I have a workaround to this. In SSMS, change the Max DOP for the database from anything to anything else. It instantly frees up the hanging screen and all users can operate normally again. Sometimes I don’t see the problem again for weeks. Other times it happens two days in a row (like yesterday and today).

Anyone ever seen this or have any thoughts on a better solution to this?

Do you mean that when one user does this, all users are frozen / slowed down or that all users who do this are slowed down and those not on this screen, Epicor operates normally?

Just Job Entry and Job Tracker are affected, for all users that might try to use those screens.

I don’t know what “this” is, though. They don’t do anything bad. They’re just looking at info. But it’s not like every time someone uses Job Entry this happens.

Sorry I meant “this” as in if one user expands the tree, does it slow down the whole system for all users or just the user who expands the tree. You answered my questions though by stating it slows down Job Entry and Job Tracker for all users, but other areas of Epicor work fine.

Show your users how to turn on trace logging, point the log at a volume with a lot of space, and forget about it until it happens again.

I’ve noticed a few places where the client spams CheckValidRevision dozens, sometimes even hundreds of times in a row with the same parameters. This causes the UI to freeze. One of the PRBs is PRB0238469, related to creating a configurator, but it happens in other areas as well.

Do you do maintenance on your Db? When’s the last time you did a Statistics Update with Full Scan or an Index Rebuild?

The fact that changing something in sql fixes it leads me to believe you are having some sort of locks on the db or your CPU on sql is pegged?

Yeah, I have to assume that changing MaxDOP either kills all active processes against the db or wipes query execution cache, something like that… This does sound like some kind of lock.

So, we run the Ola Hallengren script for IndexOptimize weekly. My understanding is that it does the stats and rebuild, but do correct me if I am wrong.

I don’t think so. I imagine that was one of the first things I checked when it first happened, but maybe I only looked at the app server.

Interesting. Unfortunately I could not pull up the PRB on EpicCare and even searching for CheckValidRevision did not return anything on EpicCare. I don’t understand why these PRBs are private sometimes.

1 Like

We went live on May 2nd using the Kinetic Interface on SaaS
(will start a separate topic on that…)

We had to go to the Classic view of the job because the Kinetic interface could not handle the multiple assemblies and large BOMs for the jobs.

Waiting for a fix before we go Kinetic.

Epicor has a problem tag - PRB0248350
PROBLEM DESCRIPTION:
Job Tracker in the Kinetic view expands the subassemblies details too slow.
EXPECTED BEHAVIOR:
Job Tracker in the Classic view expand almost immediately

Seriously, am I doing something wrong? I thought PRBs were public info, no?

You aren’t missing any information - they haven’t worked on it since telling me I could close the case, because the created a problem for it. That was March 23, 2022

They have bigger fish to fry I guess.

1 Like

I’ve only been able to see PRB’s that are linked to my cases, not others. Also, PRB’s won’t show up in ‘My Problems’ for us customers until development accepts them. The first stage where EpiCare support submits the PRB, but Dev hasn’t accepted it yet (e.g. maybe it’ll get rejected with the famous ‘Working As Designed!’) will not be visible to us.

1 Like

EpiCare Search seems to miss a lot of things… I think you have to go to the Problem Repository, and then you can see them all:

A couple months ago I suggested that search would be more useful if it used a full-text search rather than a word-indexed search. In other words, searching for “UOM” should return results with “PartUOM”, “UOMClass”, etc, not just the word “UOM” alone. Support came back with a KB article written that same day that explained how to search with a wildcard. I suspect that someone hastily implemented wildcards from scratch because how they worked made very little sense. Preceding the search term with an asterisk changed it into full text search. That is, “*UOM” did what someone familiar with regex would expect “*UOM*” to do. “UOM*” did nothing.

That KB article has since been revised, and wildcards have become a little more useful, but they’re still weird if you’re familiar with regular expressions or filename globs. Apparently the presence of a wildcard changes it from a word-based search to a full-text search, because “UOM*” matches “PartUOM” and “*UOM” matches “UOMCode”.

https://epiccare.epicor.com/epiccare?id=epiccare_kb_article&sys_id=dbac30cf4fe466c0b39abc218110c7ed

Edit: Oops, nevermind! The docs are a lie now. The % wildcard does not work at all. At least before, the KB article accurately documented something that was weird.

1 Like

I ran into this today (absurdly slow loading of Job Entry, like 60x as long) and the Max DOP fixed it immediately. Always does.

Actually this happens a few times a year. Not constantly; just every other month or so. We’re on Kinetic 2023.2 now.

Just wanted to keep this in the collective psyche, in case it helps anyone.

Could it be a SQL locking issue? 10-12 minutes is enough of a window to get a heads up and query what’s happening.

Lol, the part of me that had the energy to investigate that is dead now.

It’s so sporadic (maybe 4-6 times a year) and easy to “fix” that I just don’t want to take the time to chase it down again.

The fix is easy enough, so I am happy.

1 Like