Our application depends on a lot of lightweight jobs that run quickly. During 
field trials we have encountered several instances where the backing database 
for Sling (MS SQL Server) filled up to its maximum capacity of 4Gb. I have one 
of these machines in front of me and I've discovered that the repository is 
clogged up with old jobs under the /var/eventing/jobs node. The number of jobs 
is practically uncountable but is potentially in the millions given the number 
of rows in the DEFAULT_BUNDLE table. The majority of jobs are under the 
'cancelled' node but there are also some under the 'unassigned' node. This 
raises many questions:

* Why are CANCELLED jobs persisted in the repository? Shouldn't they just go 
away?
* Why would unassigned jobs from many days ago be sitting there? Could anything 
block the job queue from processing them?
* The jobs are stored under a node structure that uses the 
year/month/day/hour/etc. Does this ever get cleaned up? This node structure 
would continue to grow indefinitely, consuming more space.
* Is there anything I can do to clean up all these old jobs without destroying 
the rest of my repository?

I should also mention that despite the presence of all these nodes, the Sling 
Jobs status page shows zero for all counters.

Thanks as always, everyone!

Reply via email to