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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> > 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 <[EMAIL PROTECTED]> > > 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 >
