[ https://issues.apache.org/jira/browse/OFBIZ-3867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12890332#action_12890332 ]
Bob Morley commented on OFBIZ-3867: ----------------------------------- We have made a number of changes to the JobScheduler to properly work with multi-tenancy. In this spot we created a list of the databases that were down and when polling for jobs we would exclude these jobs. We then had a separate polling period (default 5 minutes) that would check the offline databases to see if they have gone back online. This might not match what you are trying to do exactly because we have a technique of storing all persisted jobs in our "main" database which has a "delegatorName" column (which represents the tenant). Jobs that are destined to run for all tenants would be "exploded" into a job per tenant (targeted for it). This allows a "sendEmail" job (for example) to execute on all tenant databases that are online, and safely skip non-online tenants until they go back online. This also creates a singleton jobManager so you do not have one running for each tenant ... Anyway those are my thoughts on it :) > JobManager.poll() enters an endless loop when it can't get a connection > ----------------------------------------------------------------------- > > Key: OFBIZ-3867 > URL: https://issues.apache.org/jira/browse/OFBIZ-3867 > Project: OFBiz > Issue Type: Bug > Reporter: Adam Heath > Assignee: Adam Heath > > JobManager.poll(), line 157, where it calls storeByCondition, can fail when > there is no connection available from the database(due to a connection leak, > or just load, or whatever). An exception then gets thrown by > storeByCondition(deep inside ofbiz/commons-dbcp/postgres). The > catch(Throwable) then logs the error, and the loop tries again. Since > pollDone never gets set to true, this loop is *very* tight, and the log file > starts to fill up *very* fast, each each thread of JobPoller tries the same > thing over and over. > I'm filing this bug mainly to see if anyone else works on it, but if not, > it's a reminder for me. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.