Cloud Customers - What is going on with Epicor Functions?

My employer is a cloud customer on the latest version of Kinetic. For a few weeks now, Epicor Functions have been severely impacted by some kind of backend issue with Epicor where every single change (any update, or new functions, etc), requires a full App Pool Recycle in order to be able to use the new or updated function.

I’ll try to demonstrate the issue with an example-
Say you have a pre-existing functions library with a function in it that only returns a pre-defined string, lets say it just returns “test”.

You call the test function from postman, or any other way, and it returns the “test” string.

Now if you go and make any change to the function, let’s say change the string to “test change”, and save in functions maintenance, the updated function cannot be called until an app pool recycle has been performed by epiccare (very painful process).

That means if I call the updated function again, it still returns “test” instead of “test change”, because the updates do not “stick”.

Similarly, if I were to add a new library or function to an existing library, that new function/lib is not available for use until another app pool recycle has been performed.

So every change requires an app pool recycle to be performed in order to use the updated or new function. Suggestion from Epiccare is continued app pool recycles with each update or change.

The issue has brought any development involving functions to a grinding halt and it’s driving me crazy! I have a couple high priority projects with deadlines going on right now which hinge entirely on functions working and being able to test, develop, and deploy them in a reasonable amount of time.

It has been a ‘known issue’ for weeks. Has anyone figured anything out on the Epicor / Kinetic side that can be done to resolve this issue? It effects all 3 of our cloud environments the same. Including our Production / Live environment.

Any input or any hope on the horizon for this issue? I am willing to try anything at this point.

Thank you so much for reading.

3 Likes

First I’ve heard of it.

I would not be happy. My entire workday is functions.

2 Likes

Surely this is isolated to a particular environment… There would be a public revolt…IT makes no sense…

Bring on Epicor supplying docker containers for customer to deploy in house for testing and development purposes I say.

6 Likes

So is mine! It’s been really difficult.

My workaround for the time being (aside from app pool recycles) is working through my code for the most part in method directives on ABC Code, but then when I need to actually build a parent function that calls on this.ThisLib… etc this workaround breaks down.

2 Likes

If you just need to mock it, I got you covered.


Func<string, string> YourMockFunction = (s) =>
{
    return $"Func got -> {s}";
};


var ThisLib = new
{
     FunctionName = YourMockFunction
};

string someVar = ThisLib.FunctionName("something");

6 Likes

In the EpiUsers political party, you are definitely my favorite delegate.

5 Likes

Great idea, why didn’t I think of that? I am going to have to try this, nice trick!

I feel your pain, and as of late I’m not entirely thrilled with Cloud services. Are you getting any meaningful responses from support on this?

After attempts to escalate the issue (which is a severe issue for me) and stated clearly in my ticket, this is the response I got:

“Hello Dylan,
What’s the issue you are facing exactly? The system doesn’t have app pools anymore as it works on a completely different tech stack as before.
It would be necessary to understand the core of the issue in order to better indentify the solution for you.
It seems you are facing some issues with one of Epicor Functions. If so, which one? Also, what is the issue youa re facing?”

So I replied spelling out the issue again and asked, if there is no app pool, why did epicor tell me a few days ago to request app pool recycles to temporarily bring in the new updates / functions?.. What is going on over there? Lol.

I think the general vibe I am getting from Epiccare is basically “you’re SOL, good luck”

3 Likes

This just comes down to them not speaking the same language to each other. (and blowing smoke up somewhere)

Tell them you mean app servers.

2 Likes

Sean Flanagan Fah GIF by FoilArmsandHog

2 Likes

I wonder if they are not understanding what is meant by functions, like are they thinking you mean a general purpose functioning of the software vs Functions?

It does kind of sound like a somewhat canned response though based on their somewhat pedantic nature of ‘we don’t have app pools anymore’…

2 Likes

I make sure to say “Epicor Functions” like that, in hopes that it’s understood. But yeah just to make sure I spelled the issue out very clearly in my response. Fingers crossed that this gentleman will be able to help us out!!! I look forward to the day I can use our system as expected again, it will be a glorious day when I can make a change- save it, then use it!

1 Like

Lessons Learned From Sending 7 Million Emails In 5 Days Using ColdFusion

I’m glad we’re on prem. Happy Friday.

3 Likes

I sorely miss being on prem. Be grateful for what you have people! :pray:

2 Likes

You didn’t read the change log did you? Such functionality was not used by anyone so was not deemed important enough to make the transition from Classic to Kinetic but you can put in an Idea to have them add such functionality that has existed for the better part of 20 years in classic into kinetic and hope it gets picked up.

1 Like

I experienced this issue on prem even on 10.2.700. The issue stems from having multiple app servers connected to the same DB, and recycling the app pool on the secondary server was the only way I could get it to pick up the changes.

3 Likes

I was going to say, this happened to us (but BPMs) on Single Tenant cloud (basically on-prem) in 10.0.700.

1 Like

@Mark_Wonsil @jgehling I think you guys are onto something here. In recent months we’ve had Epicor set up a read only instance of our SQL Db that we can access through Azure SQL. I wonder if when they set this up it fouled up our App Server set up somehow.

Was there ever a solution when you had this issue?