Scott,

Thanks! That is very precise advise. Do you have a suggestion on
interval time? 60 seconds? 120?

Thanks,

On Wed, Jul 13, 2011 at 5:34 PM, Scott Gray <scott.g...@hotwaxmedia.com> wrote:
> 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.
>>>>>>
>>>>>
>>>>
>>>
>
>

Reply via email to