Q. I'm triggering many Workflow events in a row and it seems to hang after a certain point. What should I do?

A. Edit the following properties in the workflow.properties file:

# thread pool workflow engine properties

The maxPoolSize key tells the server how many maximum concurrent connections to handle at one time. The above example sets the max connections to 10. If you set the unlimitedQueue key to true, then you can leave the queueSize key blank. This tells the server to queue up an unlimited amount of workflow events if the max connection limit has been reached.

Q. I'm using the Resource Manager along with the Workflow and I see a similar message like the following in the logs:

WARNING: JobQueue exception adding job: Message: Reached max queue size:
[5]: Unable to add job: [2012-04-03T15:50:26.862-07:00]

What's happening?

A. This means that a job could not be added to the queue in the Resource Manager because it is full. In general, there will be as many jobs queued in the Resource Manager as the size of the job stack. At the time of this writing, when the queue has reached the max queue
size, a message is logged by the Scheduler saying there is a Job Queue Exception adding a job to the queue, and then the job is dropped. A JIRA issue has been filed (OODT-439) to have the jobs re-queued when the stack is full. For now, to prevent jobs from dropping, edit the following property in the resource.properties file:

# JobStack JobQueue config properties

The maxstacksize value should be at least the size of the maximum amount of jobs that can be generated by the Workflow at one time. For example, if you have a Workflow consisting of 1 task and the maxPoolSize key was set to 10, that means at most there can be 10 jobs being sent to the Resource Manager at one time. So, the maxstacksize property in the resource.properties file should be set to at least 10 as well.