[JBoss jBPM] - Re: Maintenance and Repair Tools
by michaelholtzman
Well, to make things even more fun we support three db platforms: Sybase, Oracle, and SqlServer.
First off, almost all of the deadlock problems were cured after indexing the JBPM tables on all the foreign key columns. (We almost had to call the paramedics for the DBA when we told him we were adding 100 indexes to the database). That tip should be featured more prominently in your documentation. For Sybase, we had to explicitly enable row locking on the tables as well. BTW, indexing also improved 'deleteInstance' speed from 8 seconds per instance to 4 instances per second.
Now most often we see 'cannot sync state with session'. This happens when jbpmContext.save() fails for some reason ... we suspect a rollback due to resource contention, but we're not really sure.
We occasionally see persistence service errors due to failure to serialize/deserialize an object - we believe these are home-grown variable types (for example, we have java objects to represent tables and picklists). Usually we find an error in our implementation that causes this, but more detailed reporting would be useful.
Our system has lots of inter-related moving parts, so creating a trivial example to recreate these issues is pretty much impossible. See
http://www.olf.com/ for an overview.
Thanx for your help.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4249698#4249698
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4249698
16 years, 7 months
[JBoss jBPM] - Re: Maintenance and Repair Tools
by kukeltje
Nice hearing it is used so extensively. Not nice to hear there are persistency errors.
Ok , first, my experience is that diagnosing deadlocks etc is indeed hard, not only with jBPM, but in general. In most cases we used a dba to do find the deadlocks in combination java/db expert that uses thread dumps from the jvm to see if there are specific threads that are stuck in relation to what is seen in the db. If it is your own code, the process after that is 'fairly' easy since you know the code. If it is jPBM, I can imagine this is not the case.
But if you inform us where and when you see errors occuring we'll be glad to help out where we can.
Unfortunately, it is next to impossible for the jBPM project to provide tooling for this.
Regarding the inconsistencies in data, I'm very curious where that happens. Within jBPM?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4249686#4249686
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4249686
16 years, 7 months