Bugs item #990315, was opened at 2004-07-13 17:30 Message generated for change (Comment added) made by ejort 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: 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