Bugs item #990315, was opened at 2004-07-13 17:30 Message generated for change (Comment added) made by jdefelice You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=990315&group_id=22866
Category: JBossMQ Group: v3.2 Status: Closed Resolution: Postponed Priority: 5 Submitted By: James DeFelice (jdefelice) Assigned to: Adrian Brock (ejort) Summary: rollinglogger PersistenceManager fails to reset Tx from pool Initial Comment: In 3.2.4/3.2.5, org.jboss.mq.pm.rollinglogged.PersistenceManager.getT x() reuses Tx objects from an internal pool. When it pulls an old Tx from its pool, it resets the Tx's value (the tx id) but not its status. This results in "Transaction is not active" exceptions being thrown at the end of a transaction when the attempt is made to commit the transaction. I added a reset method to org.jboss.mq.pm.Tx: public void reset(long tx) { setValue(tx); this.status = OPEN; } and changed the persistence manager code to: protected org.jboss.mq.pm.Tx getTx(long value) { if (txPool.isEmpty()) { return new org.jboss.mq.pm.Tx(value); } else { org.jboss.mq.pm.Tx tx = (org.jboss.mq.pm.Tx) txPool.remove(txPool.size() - 1); tx.reset(value); return tx; } } this fixed my problem. It would be nice to see this (or similar) change in the upcoming 3.2.6 release. ---------------------------------------------------------------------- >Comment By: James DeFelice (jdefelice) Date: 2004-07-14 15:23 Message: Logged In: YES user_id=44602 Where is it documented that the file PM's are not supported? We bought the most recent documentation for JBoss, and it says nothing about not supporting file PM. Would have been nice to know that from the start... looks like we'll be switching over to DB PM. ---------------------------------------------------------------------- Comment By: Adrian Brock (ejort) Date: 2004-07-13 19:49 Message: Logged In: YES user_id=9459 The file persistence managers are no longer supported and will likely be dropped for jboss4 The rollinglogged version was never anything more than experimental anyway. I am not prepared to test your patch unless somebody with an interest in these persistence managers steps forwards to make them enterprise strength. i.e. 1) I want proper flushing the disk - see java.io.FileDescriptor.sync() 2) Checksums to confirm the data in the file(s) is complete and accurate 3) Proper testing, clean shutdowns are easy, test what happens when you kick the power cable out of your machine while it is writing the file. A plausable alternative would be to write a persistence manager based on SleepyCat. If you are prepared to do any of this, please use the JBoss/JMS development forum to volunteer. Besides, Object pooling of this variety is rubbish and should be removed, not fixed. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=990315&group_id=22866 ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development