Synchronizing QueueImpl::getRefsOperation (per TX) would fix the test:
final RefsOperation getRefsOperation(final Transaction tx)
| {
| - RefsOperation oper =
(RefsOperation)tx.getProperty(TransactionPropertyIndexes.REFS_OPERATION);
| -
| - if (oper == null)
| + synchronized (tx)
| {
| - oper = new RefsOperation();
| -
| - tx.putProperty(TransactionPropertyIndexes.REFS_OPERATION, oper);
| -
| - tx.addOperation(oper);
| + RefsOperation oper =
(RefsOperation)tx.getProperty(TransactionPropertyIndexes.REFS_OPERATION);
| +
| + if (oper == null)
| + {
| + oper = new RefsOperation();
| +
| + tx.putProperty(TransactionPropertyIndexes.REFS_OPERATION, oper);
| +
| + tx.addOperation(oper);
| + }
| +
| + return oper;
| }
| -
| - return oper;
| }
|
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4217224#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...