You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2008/08/14 00:37:32 UTC
svn commit: r685713 - in /ode/trunk:
axis2/src/main/java/org/apache/ode/axis2/
jbi/src/main/java/org/apache/ode/jbi/
scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/
scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/
Author: mriou
Date: Wed Aug 13 15:37:32 2008
New Revision: 685713
URL: http://svn.apache.org/viewvc?rev=685713&view=rev
Log:
Giving more space to the execution queue (was really too small for any type of perf) and making it configurable.
Modified:
ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/RetriesTest.java
ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java
Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?rev=685713&r1=685712&r2=685713&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Wed Aug 13 15:37:32 2008
@@ -442,7 +442,7 @@
}
protected Scheduler createScheduler() {
- SimpleScheduler scheduler = new SimpleScheduler(new GUID().toString(),new JdbcDelegate(_db.getDataSource()));
+ SimpleScheduler scheduler = new SimpleScheduler(new GUID().toString(),new JdbcDelegate(_db.getDataSource()), _odeConfig.getProperties());
scheduler.setTransactionManager(_txMgr);
return scheduler;
Modified: ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
URL: http://svn.apache.org/viewvc/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java?rev=685713&r1=685712&r2=685713&view=diff
==============================================================================
--- ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java (original)
+++ ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java Wed Aug 13 15:37:32 2008
@@ -218,7 +218,7 @@
_ode._executorService = Executors.newCachedThreadPool();
else
_ode._executorService = Executors.newFixedThreadPool(_ode._config.getThreadPoolMaxSize());
- SimpleScheduler sched =new SimpleScheduler(new GUID().toString(), new JdbcDelegate(_ode._dataSource));
+ SimpleScheduler sched =new SimpleScheduler(new GUID().toString(), new JdbcDelegate(_ode._dataSource), _ode._config.getProperties());
sched.setJobProcessor(_ode._server);
sched.setTransactionManager((TransactionManager) _ode.getContext().getTransactionManager());
_ode._scheduler = sched;
Modified: ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
URL: http://svn.apache.org/viewvc/ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java?rev=685713&r1=685712&r2=685713&view=diff
==============================================================================
--- ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java (original)
+++ ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java Wed Aug 13 15:37:32 2008
@@ -75,7 +75,7 @@
String _nodeId;
/** Maximum number of jobs in the "near future" / todo queue. */
- volatile int _todoLimit = 200;
+ int _todoLimit = 10000;
/** The object that actually handles the jobs. */
volatile JobProcessor _jobProcessor;
@@ -100,9 +100,10 @@
private Random _random = new Random();
- public SimpleScheduler(String nodeId, DatabaseDelegate del) {
+ public SimpleScheduler(String nodeId, DatabaseDelegate del, Properties conf) {
_nodeId = nodeId;
_db = del;
+ _todoLimit = Integer.parseInt(conf.getProperty("ode.scheduler.queueLength", "10000"));
_todo = new SchedulerThread(this);
}
@@ -172,8 +173,11 @@
try {
if (immediate) {
// If we have too many jobs in the queue, we don't allow any new ones
- if (_todo.size() > _todoLimit)
- throw new ContextException("The execution queue is backed up... Forcing ContextException");
+ if (_todo.size() > _todoLimit) {
+ __log.error("The execution queue is backed up, the engine can't keep up with the load. Either " +
+ "increase the queue size or regulate the flow.");
+ return null;
+ }
// Immediate scheduling means we put it in the DB for safe keeping
_db.insertJob(job, _nodeId, true);
Modified: ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/RetriesTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/RetriesTest.java?rev=685713&r1=685712&r2=685713&view=diff
==============================================================================
--- ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/RetriesTest.java (original)
+++ ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/RetriesTest.java Wed Aug 13 15:37:32 2008
@@ -4,10 +4,7 @@
import org.apache.geronimo.transaction.manager.GeronimoTransactionManager;
import javax.transaction.TransactionManager;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Date;
+import java.util.*;
import junit.framework.TestCase;
@@ -64,7 +61,7 @@
}
private SimpleScheduler newScheduler(String nodeId) {
- SimpleScheduler scheduler = new SimpleScheduler(nodeId, _ds.delegate());
+ SimpleScheduler scheduler = new SimpleScheduler(nodeId, _ds.delegate(), new Properties());
scheduler.setJobProcessor(this);
scheduler.setTransactionManager(_txm);
return scheduler;
Modified: ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java
URL: http://svn.apache.org/viewvc/ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java?rev=685713&r1=685712&r2=685713&view=diff
==============================================================================
--- ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java (original)
+++ ode/trunk/scheduler-simple/src/test/java/org/apache/ode/scheduler/simple/SimpleSchedulerTest.java Wed Aug 13 15:37:32 2008
@@ -19,10 +19,7 @@
package org.apache.ode.scheduler.simple;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
import javax.transaction.TransactionManager;
@@ -215,7 +212,7 @@
}
private SimpleScheduler newScheduler(String nodeId) {
- SimpleScheduler scheduler = new SimpleScheduler(nodeId, _ds.delegate());
+ SimpleScheduler scheduler = new SimpleScheduler(nodeId, _ds.delegate(), new Properties());
scheduler.setJobProcessor(this);
scheduler.setTransactionManager(_txm);
return scheduler;