[jboss-user] [JBoss jBPM] - Re: JobExecutor, maxLockTime, and the LockMonitorThread: Wha

2007-09-14 Thread estaub
 JobExecutor.start() creates a new instance of LockMonitorThread. But I can't 
 find where that thread is ever started.

Ditto.

-Ed Staub

View the original post : 
http://www.jboss.com/index.html?module=bbop=viewtopicp=4084396#4084396

Reply to the post : 
http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4084396
___
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user


[jboss-user] [JBoss jBPM] - Re: JobExecutor, maxLockTime, and the LockMonitorThread: Wha

2007-09-14 Thread kukeltje
but IS it started?

View the original post : 
http://www.jboss.com/index.html?module=bbop=viewtopicp=4084431#4084431

Reply to the post : 
http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4084431
___
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user


[jboss-user] [JBoss jBPM] - Re: JobExecutor, maxLockTime, and the LockMonitorThread: Wha

2007-09-14 Thread jeffj55374
anonymous wrote : but IS it started? 
Nope. I ran our application in the Eclipse debugger and did not see any 
reference to LockMonitorThread.  I also generated a thread dump of our 
application, LockMonitorThread does not appear there either. (The dump file is 
1800+ lines, I can email it to anybody that is interested in double checking)

Note that we are not using a J2EE server. We are running this as a standalone 
Java application.

So with respect to the comment:
anonymous wrote : Isn't this the same as transactiontimeouts work in j2ee? 
Roling back something that just took to long but finished without an error
Maybe so, but we aren't using this in a J2EE server.  In any case, this isn't a 
huge issue for us at the moment since we can simply increase the maxLockTime to 
be the Integer.MAX_VALUE

Philosophical commentary follows (feel free to stop reading)
So here is my opinion. Any comments and feedback would be appreciated. This is 
mostly intended to help me understand the jBPM design intent with respect to 
rolling back successfully completed activities simply because they took too 
long.  

So if the node completes succesfully, the transaction shouldn't rollback. Since 
the timeout doesn't cause the thread (execution context / token) to be aborted 
the system is doing the work anyhow. You aren't saving anything by considering 
it a failure.  If the intent is that it should be considered an error if a 
sequence of nodes takes too long to process, then you probably should somehow 
abort the processing rather than let it continue. Now what would happen (if the 
LockMonitorThread is actually running) another thread would acquire the job and 
start running. Now you have two threads actively processing the same path.  
(Maybe this is a mute point since I think some of the async / JobExecutor stuff 
is changing post V3.2.1?)  

Wouldn't be so bad if everything our process did was inside the same database 
and transaction and didn't have any external side affects that are either 
difficult or impossible to rollback. So with this behavior we somehow would 
need to add our own code to test for exceeding maxLockTime and that a rollback 
was going to occur and we would have to figure out how to detect that jBPM 
decided to roll things back and compensate or reverse the external actions.  
For example one of our steps loads millions of rows of data, impractical to 
have in a single transaction and rollback the data. Our code doesn't get any 
notification that the rollback occurred so if we have no opportunity to execute 
compensating code.  Maybe the design intent is that everything should be done 
in such a manner that it is controlled by a transaction monitor. This is 
generally a bunch of non-trivial work for non-database related activities.

So again, I still don't see the value in having a maxLockTime for a job if you 
are going to let the job run to completion w/o aborting it and allow the system 
to attempt to process the path again even though it is still currently being 
processed.  This could lead to all kinds of chaos.


View the original post : 
http://www.jboss.com/index.html?module=bbop=viewtopicp=4084509#4084509

Reply to the post : 
http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4084509
___
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user


[jboss-user] [JBoss jBPM] - Re: JobExecutor, maxLockTime, and the LockMonitorThread: Wha

2007-09-13 Thread kukeltje
anonymous wrote : Question: If the execute method on the Node completes w/o 
error and did its job and moved on to the next node, why does it make sense to 
rollback the process instance? 
Isn't this the same as transactiontimeouts work in j2ee? Roling back something 
that just took to long but finished without an error

View the original post : 
http://www.jboss.com/index.html?module=bbop=viewtopicp=4084281#4084281

Reply to the post : 
http://www.jboss.com/index.html?module=bbop=postingmode=replyp=4084281
___
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user