Regenerate Data Model Confusion

I’m on 10.2.100.15 and a few weeks ago I added a UD column and immediately some reports were throwing errors. I had the whole company log out, regenerated the data model, recycled the app server, and we were good.

Question: should I only be adding UD columns after hours so that I can regenerate and recycle the system? If so, how do people handle this that run 24x7?

Thanks.

Well discussed in here …

1 Like

Whoops … Missed the part about it being the time between adding the UD fields, and the regen.

The above is about the time between the regen and the App pool being recycled.

Adam,

First,
Regenerating and Recycling does not take you system down, it merely flushes it, one might feel a bit slowness for a few minues as it caches things again. I wouldn’t recommend it during like an MRP Run, but I do Regen and Recycle during Production Hours.

Also what most people tend to forget is when you do a Regen and you Recycle App, you should also Recycle the Report Server (if you have a dedicated Report Server).

Recycle is not Restart.

Second,
I dont know of a way around it, you must have a maintenance window eventually, perhaps during Lunch Time. Worst case if they error out, they can just retry it =)

I develop in a DEV environment and some customizations we deploy during our Monthly Maintenance Window or a slow Friday night (after all deployments with solution workbench, take minutes), not everything has to be in production right away.

Especially Service Connect Workflows, if I can I wait for my window. Then we deploy 10 things.

Third,
If you have multiple App Servers / Report Servers perhaps you can automate it to be Regened + Recycled faster than the human can click - by checking out this article by @Bart_Elia

Fourth,
Some advise against it and recommend:
I guess it depends, I usually take the risk on slower days.
You could also throw in “Stop the Task Agent(s) (if a task agent is running it can keep the AppServer alive)” in the mix, so any reports just remain Queued?

Best practice on this is:

– Stop the Task Agent(s) (if a task agent is running it can keep the AppServer alive)
– Stop the AppServer(s)
– Regenerate the DataModel
– Start the AppServer(s)
– Start the Task Agent(s)

The DataModel is stored in the Database and as an AppServer starts it moves the DataModel to the “Assemblies” file system as specified in Web.Config. Having an AppServer running with an out-of-date DataModel can result in data corruption - particularly if a UD Table is new and does not exist at all in the currently active DataModel.
@Rich

Closure,
You could mark “Fridays” as your deployment days and educate the business Fridays from 11am to 11:15am we deploy things.

After all it’s not like you are creating a new column every week =) After a while that slows down.

2 Likes

Good thoughts everyone. Thank you.

Is there a way to force a popup on everyone using Epicor that says, “Please logout asap. We are about to restart Epicor.”?

I believe that (in-app one-way communication) is in 10.2.300…

1 Like

Currently In App Notifications is a Cloud Native Global service only available to SaaS administration. The next of many to Cloud services (Telemetry, Upgrade Services among others are similar).

Which of these becomes available to on premises deployment is TBD.

2 Likes

Bart - Can’t wait for the on-prem rollout. That’s cool!

Safe Harbor :wink: