Hello Team,
Anyone knows if, in Traditional Web, there's a limitation to the depth of the called server actions.
I have a situation where Action 1 calls Action 2 which calls Action 3 which calls Action 4 (in different modules). It's a normal situation of having actions calling other actions.
In a specific module I'm in "ActionParent" and I call "MyAction". It works fine. But if I call "MyAction" inside "ActionChild" (which is inside "ActionParent") it simply blocks (timeout). I tested calling "MyAction" right before entering "ActionChild" and it works, but as soon as it enters "ActionChild" (and without having any other calls between), it doesn't work even if I put as "MyAction" as the first call of "ActionChild".
My guess is that it eventually reaches a point where, for some reason, we're already too deep in the stack of calls. By the way, the "MyAction" blocks eventually in a call to a simple extension action that only does some minor internal calculations.
Hi Nuno,
Your guess is wrong. There is no maximum call depth, other than that you could run out of stack space, but that won't happen easily (you really need 100s if not 1000s of calls for that). If I understand your call stack correctly, you have only 3 or 4 levels of calling, so that's peanuts.
Like Daniël says, it's not possible to find the cause of your problem without a module to look at. Please share more details so we can help you better.
I never heard about or experienced a call depth limitation of server action calls. Without an OML that allows one to reproduce the scenario that you describe, it will be hard to find the root cause of your problem.
Regards,
Daniel
Hi,
Maybe you have an infinite loop, created by a action calling itself again. That van definitely resulting in a timeout.
Hello guys thanks for the feedback. I just wanted to know of any possible limitation. To replicate the scenario an OML wouldn't be enough, I'd also have to share the server since it's on premises and its configuration might also be interfering.
I'll open a support ticket.
I don't see why a server would need to be shared, it is most likely just a coding issue.
Please update the ticket, with the feedback you get from OutSystems, but I bet on it being a recursive call that is causing the timeout.