ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: Server error handling
Date Fri, 04 Apr 2008 18:42:51 GMT
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
>

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