ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thilina Gunarathne" <cset...@gmail.com>
Subject Re: Server error handling
Date Fri, 04 Apr 2008 20:08:37 GMT
Hi Matthieu,
I completely agree with you that ODE should not fail due to a silly
mistake in an event handler.

The next thing is if ODE fails like that in any case it's nice if it
notifies the waiting client (if there are any) about that...

thanks,
Thilina

On Fri, Apr 4, 2008 at 2:42 PM, Matthieu Riou <matthieu@offthelip.org> wrote:
> I completely agree that hanging like this and not handling the exception is
>  bad, but I don't think ODE should abort the current execution to provide an
>  error back to the client because something happened in an event handler. The
>  client could even not be there. We should log the error and then proceed.
>
>  Matthieu
>
>  On Fri, Apr 4, 2008 at 10:56 AM, Thilina Gunarathne <csethil@gmail.com>
>
>
> wrote:
>
>  > Hi Alek,
>  > done...
>  > https://issues.apache.org/jira/browse/ODE-261
>  >
>  > It's nice if ODE can provide a error back..
>  > thanks,
>  > Thilina
>  >
>  > On Fri, Apr 4, 2008 at 1:25 PM, Alex Boisvert <boisvert@intalio.com>
>  > wrote:
>  > > Hi Thilina,
>  > >
>  > >  I would hope we can provide an error back to the client instead of
>  > letting
>  > >  it time out.  Can you file an issue?  We need to analyze the code path
>  > and
>  > >  determine where/how to handle this.
>  > >
>  > >  thanks,
>  > >  alex
>  > >
>  > >
>  > >  On Fri, Apr 4, 2008 at 10:09 AM, Thilina Gunarathne <csethil@gmail.com>
>  > >  wrote:
>  > >
>  > >
>  > >  > Hi,
>  > >  > I did a mistake in the event handler I wrote, resulted in a null
>  > >  > pointer exception, which happened immediately after the first
>  > receive.
>  > >  > This made the process instance to abort (not sure whether the engine
>  > >  > crashed too), but my client program never got an error back and kept
>  > >  > on waiting... Just wondering whether this is an expected behavior or
>  > a
>  > >  > bug...
>  > >  >
>  > >  > 13:01:41,556 ERROR [BpelEngineImpl] Scheduled job failed;
>  > >  > jobDetail={type=INVOKE_INTERNAL,
>  > >  > pid={
>  > >  >
>  > http://www.extreme.indiana.edu/xwf/bpel/Echo_Workflow_20080321_161030_946/}echo-3<http://www.extreme.indiana.edu/xwf/bpel/Echo_Workflow_20080321_161030_946/%7Decho-3>
>  > <
>  > http://www.extreme.indiana.edu/xwf/bpel/Echo_Workflow_20080321_161030_946/%7Decho-3
>  > >
>  > >
>  > > > ,
>  > >  > mexid=hqejbhcnphr3656bmodatr}
>  > >  > java.lang.RuntimeException: java.lang.NullPointerException
>  > >  >        at
>  > >  >
>  > org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
>  > >  >        at
>  > org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:812)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInsedu.indiana.extreme.ode.events
>  > >
>  > >
>  > > > .LeadEventListener.onEvent
>  > >  > tance(PartnerLinkMyRoleImpl.java:197)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:194)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:362)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:328)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:341)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:340)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:179)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:339)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:336)
>  > >  >        at
>  > >  > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>  > >  >        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
>  > >  >        at
>  > >  >
>  > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>  > >  >        at
>  > >  >
>  > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>  > >  >        at java.lang.Thread.run(Thread.java:595)
>  > >  > Caused by: java.lang.NullPointerException
>  > >  >        at
>  > >  >
>  > edu.indiana.extreme.ode.events.LeadEventListener.onEvent(LeadEventListener.java:24)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.fireEvent(BpelEngineImpl.java:422)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.sendEvent(BpelRuntimeContextImpl.java:1000)
>  > >  >        at org.apache.ode.bpel.runtime.PROCESS.run(PROCESS.java:49)
>  > >  >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  > >  >        at
>  > >  >
>  > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  > >  >        at
>  > >  >
>  > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  > >  >        at java.lang.reflect.Method.invoke(Method.java:585)
>  > >  >        at
>  > >  >
>  > org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
>  > >  >        ... 17 more
>  > >  > DEBUG - GeronimoLog.debug(66) | BPEL SERVER STOPPING
>  > >  > 13:01:42,164 DEBUG [BpelServerImpl] BPEL SERVER STOPPING
>  > >  > ERROR - GeronimoLog.error(108) | Error while executing transaction
>  > >  > org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
>  > >  > java.lang.RuntimeException: java.lang.NullPointerException
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:338)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:341)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:340)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:179)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:339)
>  > >  >        at
>  > >  >
>  > org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:336)
>  > >  >        at
>  > >  > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>  > >  >        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
>  > >  >        at
>  > >  >
>  > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>  > >  >        at
>  > >  >
>  > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>  > >  >        at java.lang.Thread.run(Thread.java:595)
>  > >  > Caused by: java.lang.RuntimeException: java.lang.NullPointerException
>  > >  >        at
>  > >  >
>  > org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
>  > >  >        at
>  > org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:812)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:197)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:194)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:362)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:328)
>  > >  >        ... 11 more
>  > >  > Caused by: java.lang.NullPointerException
>  > >  >        at
>  > >  >
>  > edu.indiana.extreme.ode.events.LeadEventListener.onEvent(LeadEventListener.java:24)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelEngineImpl.fireEvent(BpelEngineImpl.java:422)
>  > >  >        at
>  > >  >
>  > org.apache.ode.bpel.engine.BpelRuntimeContextImpl.sendEvent(BpelRuntimeContextImpl.java:1000)
>  > >  >        at org.apache.ode.bpel.runtime.PROCESS.run(PROCESS.java:49)
>  > >  >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  > >  >        at
>  > >  >
>  > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  > >  >        at
>  > >  >
>  > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  > >  >        at java.lang.reflect.Method.invoke(Method.java:585)
>  > >  >        at
>  > >  >
>  > org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
>  > >  >        ... 17 more
>  > >  >
>  > >  > thanks,
>  > >  > Thilina
>  > >  > --
>  > >  > Thilina Gunarathne - http://thilinag.blogspot.com
>  > >  >
>  > >
>  >
>  >
>  >
>  > --
>  > Thilina Gunarathne - http://thilinag.blogspot.com
>  >
>



-- 
Thilina Gunarathne - http://thilinag.blogspot.com

Mime
View raw message