You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Matthieu Riou (JIRA)" <ji...@apache.org> on 2008/08/07 19:25:44 UTC

[jira] Commented: (ODE-357) Error reloading compiled process with loop

    [ https://issues.apache.org/jira/browse/ODE-357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620684#action_12620684 ] 

Matthieu Riou commented on ODE-357:
-----------------------------------

The problem here is when older process files are removed from the file system and there still are past instances running that need them. When you send your message the instance is trying to access its definition which is not there anymore and it goes boom.

So the bug here is that when you redeploy, we should really remove all related instances. So can I ask you how you redeployed the process? 

> Error reloading compiled process with loop
> ------------------------------------------
>
>                 Key: ODE-357
>                 URL: https://issues.apache.org/jira/browse/ODE-357
>             Project: ODE
>          Issue Type: Bug
>          Components: Deployment
>    Affects Versions: 1.2
>            Reporter: Arkadiusz Burdach
>         Attachments: redeploy-error.tar.gz
>
>
> I have a process which waits for message and after receive, in loop waits for another messages. Both waitings are correlated. I send message witch correlation key '1' and have one active instance of process. Then I do redeploy, and after finish send one more message witch the same correlation key '1'. Then I've got:
> 15:24:09,822 ERROR [BpelProcess] Error reloading compiled process {http://example.com/Process/Main}Main-2; the file appears to be corrupted.
> 15:24:09,822 ERROR [BpelEngineImpl] Scheduled job failed; jobDetail={type=INVOKE_INTERNAL, pid={http://example.com/Process/Main}Main-2, mexid=hqejbhcnphr3hr27irjgn2}
> org.apache.ode.bpel.iapi.BpelEngineException: Error reloading compiled process {http://example.com/Process/Main}Main-2; the file appears to be corrupted.
> 	at org.apache.ode.bpel.engine.BpelProcess.getReplacementMap(BpelProcess.java:654)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.<init>(BpelRuntimeContextImpl.java:132)
> 	at org.apache.ode.bpel.engine.BpelProcess.createRuntimeContext(BpelProcess.java:688)
> 	at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeInstance(PartnerLinkMyRoleImpl.java:210)
> 	at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:213)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:377)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:332)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:337)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
> 	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 org.apache.ode.bpel.engine.BpelProcess.registerExprLang(BpelProcess.java:834)
> 	at org.apache.ode.bpel.engine.BpelProcess.getReplacementMap(BpelProcess.java:648)
> 	... 17 more
> 15:24:09,826 ERROR [SimpleScheduler] Error while processing transaction, retrying.
> org.apache.ode.bpel.iapi.Scheduler$JobProcessorException: org.apache.ode.bpel.iapi.BpelEngineException: Error reloading compiled process {http://example.com/Process/Main}Main-2; the file appears to be corrupted.
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:336)
> 	at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:337)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:336)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:335)
> 	at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:332)
> 	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: org.apache.ode.bpel.iapi.BpelEngineException: Error reloading compiled process {http://example.com/Process/Main}Main-2; the file appears to be corrupted.
> 	at org.apache.ode.bpel.engine.BpelProcess.getReplacementMap(BpelProcess.java:654)
> 	at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.<init>(BpelRuntimeContextImpl.java:132)
> 	at org.apache.ode.bpel.engine.BpelProcess.createRuntimeContext(BpelProcess.java:688)
> 	at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeInstance(PartnerLinkMyRoleImpl.java:210)
> 	at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:213)
> 	at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:377)
> 	at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:332)
> 	... 11 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.ode.bpel.engine.BpelProcess.registerExprLang(BpelProcess.java:834)
> 	at org.apache.ode.bpel.engine.BpelProcess.getReplacementMap(BpelProcess.java:648)
> 	... 17 more
> If I send message witch CK e.g. '2', I have positive answer. Even if I've already got exception before it.
> This problem exists on ode 1.2, ode from branch 1.X, and from trunk. With embedded db and with oracle by jpa. As a IL I've tried JBI and WAR. The same results.
> In simplier scenario of process:
> - receive message A
> - receive message B (without loop)
> ... and waiting after first receive the problem doesn't appear.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.