That configuration is for the frequency of job polls.  There isn't any ability 
to specify the transaction timeout via configuration so you'll need to modify 
the code directly:
JobManager.java (line 148):
beganTransaction = TransactionUtil.begin();
needs to be changed to use TransactionUtil.begin(int)

Regards
Scott

HotWax Media
http://www.hotwaxmedia.com

On 14/07/2011, at 12:23 PM, Josh Jacobson wrote:

> Brett,
> 
> Before I start trying to run the jobs manually, I want to give your
> suggestion a try. I think I know where to configure the job polling
> transaction time (I believe it's the poll-db-millis="20000" value on
> the framework/service/config/serviceengine.xml.
> 
> However, I still don't know what to increase it to. I understand that
> we wouldn't want to make it bigger than the default polling interval.
> Do you know what the default interval between polling is?
> 
> Thanks,
> 
> On Wed, Jul 13, 2011 at 12:31 PM, Brett Palmer <brettgpal...@gmail.com> wrote:
>> I meant removing finished jobs.  If you have thousands of pending jobs then
>> you will have the same problem I mentioned in my first email.  One
>> resolution will be to increase the job poller transaction time.  In the
>> ofbiz version I was using there was not a way to configure the poller
>> transaction time.  It just used the default time.  I had to create a patch
>> to allow this to happen.
>> 
>> In the patch you had to be careful to not increase the transaction time
>> greater than the frequency of the job poller.  Otherwise you get into a lock
>> situation where one job poller is still running within a transaction and
>> another poller starts.  This didn't create a huge problem but the second job
>> poller would usually lock and then time out.
>> 
>> 
>> 
>> Brett
>> 
>> 
>> 
>> On Wed, Jul 13, 2011 at 1:15 PM, Josh Jacobson 
>> <josh.s.jacob...@gmail.com>wrote:
>> 
>>> Brett,
>>> 
>>> Can you please explain what you mean by archiving the current JobSandbox
>>> first?
>>> Do you mean somehow removing the current pending jobs, applying you
>>> patch and the copying them back again?
>>> 
>>> Thanks,
>>> 
>>> 
>>> On Wed, Jul 13, 2011 at 12:08 PM, Brett Palmer <brettgpal...@gmail.com>
>>> wrote:
>>>> Josh,
>>>> 
>>>> I've also seen this problem if the JobSandbox table has too many rows to
>>>> process.  I ran into a similar problem when I tried to run 10,000 Async
>>>> batch processes.  The time it took for the JobPoller to process all the
>>>> records was too long and the transaction would time out.
>>>> 
>>>> I had a patch to change the transaction timeout for the JobPoller
>>>> specifically as it wasn't available in ofbiz at the time, but I don't
>>> think
>>>> I ever submitted it.  I could look for this patch if anyone is interested
>>>> but it may already be implemented in the framework.
>>>> 
>>>> I would try archiving jobs from the JobSandbox first.
>>>> 
>>>> 
>>>> Brett
>>>> 
>>>> On Wed, Jul 13, 2011 at 12:48 PM, Josh Jacobson
>>>> <josh.s.jacob...@gmail.com>wrote:
>>>> 
>>>>> Hello Everyone,
>>>>> 
>>>>> I have an ofbiz instance in production where none of the jobs are
>>>>> being performed. I have about 160K jobs in pending status, but they
>>>>> are never being schedule.
>>>>> I can see the following in the log:
>>>>> 
>>>>> 2011-07-13 13:32:01,959 (org.ofbiz.service.job.JobPoller@2599930b) [
>>>>> JobManager.java:201:ERROR] ---- exception report
>>>>> ---------------------------------------------------------- Transaction
>>>>> error trying to commit when polling and updating the JobSandbox:
>>>>> org.ofbiz.entity.transaction.GenericTransactionException: Roll back
>>>>> error (with no rollbackOnly cause found), could not commit
>>>>> transaction, was rolled back instead:
>>>>> javax.transaction.RollbackException: Transaction timeout (Transaction
>>>>> timeout) Exception:
>>>>> org.ofbiz.entity.transaction.GenericTransactionException Message: Roll
>>>>> back error (with no rollbackOnly cause found), could not commit
>>>>> transaction, was rolled back instead:
>>>>> javax.transaction.RollbackException: Transaction timeout (Transaction
>>>>> timeout) ---- cause
>>>>> ---------------------------------------------------------------------
>>>>> Exception: javax.transaction.RollbackException Message: Transaction
>>>>> timeout ---- stack trace
>>>>> ---------------------------------------------------------------
>>>>> javax.transaction.RollbackException: Transaction timeout
>>>>> 
>>>>> 
>>> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:269)
>>>>> 
>>>>> 
>>> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:245)
>>>>> 
>>>>> 
>>> org.ofbiz.entity.transaction.TransactionUtil.commit(TransactionUtil.java:259)
>>>>> 
>>>>> 
>>> org.ofbiz.entity.transaction.TransactionUtil.commit(TransactionUtil.java:245)
>>>>> org.ofbiz.service.job.JobManager.poll(JobManager.java:197)
>>>>> org.ofbiz.service.job.JobPoller.run(JobPoller.java:90)
>>>>> java.lang.Thread.run(Thread.java:619)
>>>>> 
>>>>> 
>>> --------------------------------------------------------------------------------
>>>>> 
>>>>> I believe that the JobManager is not being able to handle all those
>>>>> jobs to schedule them, so nothing is being scheduled, which of course
>>>>> make the job list longer.
>>>>> 
>>>>> Can anyone think of how to make the jobs run?
>>>>> 
>>>>> All help much appreciated,
>>>>> 
>>>>> --
>>>>> Josh.
>>>>> 
>>>> 
>>> 
>> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to