ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Taylor <saurs...@yahoo.com>
Subject Re: Client calling retired process?
Date Mon, 13 Oct 2008 15:17:54 GMT
Thanks, Alexis, but i'm no closer to fully understanding why this occurs.  It happens periodically
now almost everyday with different deployed processes.  Although I don't understand it, I
have done some research into the behaviour.  Here's a scenario:
 
we'll deploy ProcessA-19, then retire it with ProcessA-20 deployment.  At some point it,
or another, process will fail and attempt to go into recovery mode (excuse me if I state this
incorrectly),  at this point ODE will create a scheduled job in an attempt to retry the service
later.
 
Here's where it gets screwy.  From then on, all new calls to ProcessA will not route to ProcessA-20,
but ode will attempt to route them to ProcessA-19, which is of course retired. Ode does not
recover from this.  It seems the only way to compensate is to redeploy ProcessA as ProcessA-21. 
New requests will then route correctly.
 
Any idea here?  



----- Original Message ----
From: Alexis Midon <midon@intalio.com>
To: user@ode.apache.org
Sent: Wednesday, October 8, 2008 7:26:54 PM
Subject: Re: Client calling retired process?

Hi Chris,

No new executions can be started on a retired process, but running instances
can still finish their job. [1]

I'm not really familiar with this part of the code, but after looking at it,
it seems to me that the deployment of a new version is not atomic. Meaning
that a process could be flagged as retired while the creation of a new
instance is in progress, hence you're exception.

does it make sense regarding your scenario? is it possible that the process
gets retired while messages are coming in?

[1] further details here:
http://ode.apache.org/user-guide.html#UserGuide-Versioning



On Wed, Oct 8, 2008 at 11:37 AM, Chris Taylor <saursoor@yahoo.com> wrote:

> Okay, I've a deployment (called GetCodes) bundle that includes 5
> processes.  4 of the processes make calls to the fifth (it's an abstraction
> layer of process business logic).  When I deploy this "GetCodes" bundle
> using the DeploymentService utility, I can see an incremented deployment
> (say, GetCodes-40) alongside previous iterations.
>
> Occasionally, I'll have a client making soap calls to one of the processes
> under this logical bundle that will fail with the following error:
>
> InvalidProcessException: Process is retired.
>
> In the logs, it's clear that ODE is directing this client call to
> GetCodes-39 - though the client isn't explicitly attempting to call a
> specific version (is that even possible?).  Any clue why some clients
> periodically - erroneously - are directed by ODE to a retired process
> version?
>
>
>



      
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message