Frage

We have a 24x7 application that deals with dozens of WF4 instances.

We successfully implemented a persist & recovery strategy using SQL Instance Store persisting OnIdle, waiting for that status in the controlled shutdown and loading back in the recovery.

We needed to move to ORACLE and we have used DevArt Instance Store and we have some issues with the same code.

So far we are still persisting OnIdle but now we had to unload at controlled shutdown in order to be able to load in the recovery.

Our fear comes when we think about "not-so-gently" shutdowns that may appear.

What about the persisted instances without being unloaded if they cannot reach controlled shutdown method? How to recover them? Anyone have faced the same situation?

War es hilfreich?

Lösung

Found it,

It can be done with ORACLE Devart Instance Store. The problem was a bug in the DevArt dotConnect package of OracleInstanceStoreLogic that rocketed the locking expiration time up to 2037 disallowing to load again the instance.

Instead of

newLockExpiration := sysdate + p_lockTimeout / 24*60*60;

should be

newLockExpiration := sysdate + p_lockTimeout / (24*60*60);

I already reported the issue to the DevArt guys in order to fix it in the next update.

Andere Tipps

I have one important addition to the answer of "The Beat": the error with the missing brackets got only fixed in one place of two! Specifically, there is a method "ExtendLock" in the script "OracleInstanceStoreLogic.sql" which still has

newLockExpiration := sysdate + p_lockTimeout / 24*60*60;

(We have Devart version 7.8.287.0 at the time of writing, and the bug is still there.) This definitely caused problems with our workflows which went away after adding the brackets.

I've just filed a bug report to Devart.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top