← Back to team overview

dhis2-devs team mailing list archive

Nightly Batch-Jobs

 

Dear all,

since we are doing nightly data-loads into DHIS2 with a 3rd party ETL-tool, we
are obliged to control the DHIS2 background jobs as much as possible via api to
avoid conflicts with the loading processes.

Although I turned of all of the batch-functionalities in Maintenance-Scheduling,
there is an error message every night at 2:00 in catalina.out: "Could not obtain
transaction-synchronized Session for current thread" (more at the end of this
mail)

The error message appears at a time, when my jobs are already through, and I
don't see any negative side aspects (getting a clean log would be nice, though).
But I'd need to know what else is scheduled in the background out-of-the-box,
how to stop it and how to trigger it via api, as I want to avoid locks, memory
shortages etc. due to colliding batches.

DHIS2, Version 22, Build 21765, Standard Ubuntu 14.04 & Oracle 8

Any hint would be appreciated,

Thanks a lot, Uwe

--- catalina.out ---
* ERROR 2016-01-25 02:00:00,015 Unexpected error occurred in scheduled task.
(TaskUtils.java [taskScheduler-8])
org.hibernate.HibernateException: Could not obtain transaction-synchronized
Session for current thread
        at
org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:134)
        at
org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:993)
        at
org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:205)
        at
org.hisp.dhis.hibernate.HibernateGenericStore.getSharingCriteria(HibernateGenericStore.java:200)
        at
org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore.getAllLeCreated(HibernateIdentifiableObjectStore.java:404)
        at
org.hisp.dhis.fileresource.DefaultFileResourceService.getOrphanedFileResources(DefaultFileResourceService.java:138)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
        at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
        at com.sun.proxy.$Proxy78.getOrphanedFileResources(Unknown Source)
        at
org.hisp.dhis.fileresource.FileResourceCleanUpTask.run(FileResourceCleanUpTask.java:58)
        at
org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
        at
org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
--- catalina.out ---


Follow ups