[
https://issues.apache.org/jira/browse/ODE-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13866537#comment-13866537
]
Igor Vorobiov commented on ODE-1012:
------------------------------------
I debugged and found that we get error when we call *{{getInstance}}* with
instanceId = null id in
*{{org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(JobInfo)}}*. The
job is scheduled when we do cleanup for undeployed process in:
{code:title=org.apache.ode.bpel.engine.BpelServerImpl.java|borderStyle=solid}
private boolean deleteProcessDAO(BpelDAOConnection conn, QName pid) {
{ ...
if( proc instanceof DeferredProcessInstanceCleanable &&
!DEFERRED_PROCESS_INSTANCE_CLEANUP_DISABLED ) {
// schedule deletion of process runtime data
_engine._contexts.scheduler.scheduleMapSerializableRunnable(
new
ProcessCleanUpRunnable(((DeferredProcessInstanceCleanable)proc).getId()), new
Date());
} else if( proc instanceof DeferredProcessInstanceCleanable ) {
((DeferredProcessInstanceCleanable)proc).deleteInstances(Integer.MAX_VALUE);
} ...
}
{code}
When I set system property
*{{-Dorg.apache.ode.disable.deferredProcessInstanceCleanup=true}}* then the
error disappeared because *{{deleteInstances}}* was called directly.
Is scheduling of ProcessCleanUpRunnable as job correct?
> Error in the ode log under hibernate
> ------------------------------------
>
> Key: ODE-1012
> URL: https://issues.apache.org/jira/browse/ODE-1012
> Project: ODE
> Issue Type: Bug
> Components: Deployment
> Affects Versions: 1.3.5, 1.3.6
> Environment: - Windows 7
> - Apache ODE 1.3.6
> - Microsoft® SQL Server® 2008 R2 SP2 - Express Edition
> Reporter: Igor Vorobiov
> Priority: Minor
> Attachments: ODE.log, ODESchema.sql, ODE_with_Bitronix_tx.log,
> ode-axis2.properties
>
>
> There is still the problem in ode under hibernate which was mentioned in:
> http://apache-ode.996305.n3.nabble.com/problem-with-ode-under-hibernate-td16241.html#none
> Steps to reproduce:
> 1) setup ODE under hibernate and point it to external sql server
> DB(ode-axis2.properties and ODE schema creation script are attached);
> 2) deploy HelloWorld2 (copy to ode\WEB-INF\processes with name HelloWorld2-1
> or deploy it by web UI);
> 3) redeploy HelloWorld2 (copy to ode\WEB-INF\processes with name
> HelloWorld2-2 or deploy it by web UI);
> Expected: no errors in the log.
> Actual: following error in the log:
> [2013-12-22 21:12:55,010] [ERROR] [org.apache.ode.bpel.engine.BpelEngineImpl]
> - Scheduled job failed; jobDetail=JobDetails( instanceId: null mexId: null
> processId: null type: null channel: nul
> l correlatorId: null correlationKeySet: null retryCount: null inMem: null
> detailsExt:
> {runnable=org.apache.ode.bpel.engine.ProcessCleanUpRunnable@615c1ae3, pid=1})
>
> java.lang.IllegalArgumentException: id to load is required for loading
>
>
> at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:51)
>
>
> at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:33)
>
>
> at org.hibernate.impl.SessionImpl.get(SessionImpl.java:812)
>
>
> at org.hibernate.impl.SessionImpl.get(SessionImpl.java:808)
>
>
> at
> org.apache.ode.daohib.bpel.BpelDAOConnectionImpl._getInstance(BpelDAOConnectionImpl.java:201)
>
>
> at
> org.apache.ode.daohib.bpel.BpelDAOConnectionImpl.getInstance(BpelDAOConnectionImpl.java:145)
>
>
> at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:416)
>
>
> at
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:450)
>
>
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:523)
>
>
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleScheduler.java:517)
>
>
> at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:289)
>
>
> at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:244)
>
>
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:517)
>
>
> at
> org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:501)
>
>
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>
>
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>
>
> at java.lang.Thread.run(Thread.java:662)
> Seems that the error appears when process becomes RETIRED.
> I also attached ODE.log
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)