CreateOrUpdate entity action times out
Application Type
Traditional Web

I have a CreateOrUpdate entity action returning a ORA-01013: user requested cancel of current operation which is the Oracle equivalent to a timeout in the database. 

I can't find any reason for this timeout, since there is no action before to lock the table/record.

What else could be causing a lock or a timeout?

Thanks

Solution

Hi Jose, these are what comes in my mind....

Are you using this inside a wrapper or using in your flow any Service action or API that is waiting for values not committed?

Maybe too many indexes on the table and maybe the operation takes long to finish?

Network issues or environment not well configured?

Timeout configured for 10 sec like in reactive?

Table being locked by BPTs/Timers, etc?

Infinite loops on the flow?

Cheers.


I forgot the most important: Module A calls Service Action X from Module B and Service Action X calls a wrapper server action from Module C.

Are you using this inside a wrapper or using in your flow any Service action or API that is waiting for values not committed? Yes, answered above.

Maybe too many indexes on the table and maybe the operation takes long to finish? Yes, around 45 :\ but it works perfectly in other features. This error doesn't occurr always.

Network issues or environment not well configured? Can't say for sure, but it's the only case where this Oracle error happens.

Timeout configured for 10 sec like in reactive? In the configuration tool is set to 30 secs.

Table being locked by BPTs/Timers, etc? 99% sure not.

Infinite loops on the flow? No. Debugging shows clearly the timeout occurring in the entity action.

"I forgot the most important: Module A calls Service Action X from Module B and Service Action X calls a wrapper server action from Module C. "

All modules are updated? Try to refresh and publish it all, sometimes this could influence.

How long takes from the time you hit the button until the timeout? Service action has a timeout of 100 secs, that usually is sufficient to complete the transactions, but the client request may have a different timeout(eg:. 30 sec). 

So my suggestion is to increase the timeout to the necessary time of the service action, and increase gradually if necessary.

Use the HTTPRequestHandler -> SetRequestTimeOut() before calling the first Service Action.

If that fails..... try to increase the timeout of your operations, Configuration tool, IIS

If all of the above ;) fails, the solution may be to change, for the specific case directly with the server action that is faster than service, ofc if you architecture allows that change

Hope I could help you and give you some direction.

Cheers,

Carlos Lessa

Hi José,

I saw a case similiar to yours (I don't know if the cause is the same).

At that time, the problem was a timer that was running and, by using keys from the table that we wanted to write data and without the commit action, was creating intended locks.

I don't know your scenario and if this is similar to what is happening to you, but hope this can help you.


Best regards,

Ricardo Pereira

I will try to find out if there is any timer possibly locking it. Thanks.

It ended up fixed by applying a Commit action before calling the Service Action. 

It appears that some Update was still in progress during the server action and since the service action was in a different transaction it was still lock or didn't recognize the changes.

Thanks for all the support.

So basically it was my first guess:

"Hi Jose, these are what comes in my mind....

Are you using this inside a wrapper or using in your flow any Service action or API that is waiting for values not committed?"

Good you solve the problem.

Cheer

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.