Hi and sorry for not responding sooner.
putForExternalRead was designed to specifically work outside the scope of any ongoing
transaction, so that it does not cause any ongoing transaction to fail and roll back if
the pFER() call fails.
So this is why calls to ctx.lookUpNode() within the scope of a pFER() call uses the looked
up nodes map on the InvocationContext rather than the TransactionContext, this is by
design.
The evict call, that then attempts to evict the node, should be referring to the
transaction context and not the invocation context. This again is by design, and since
the node does not exist in the transaction context, it would be loaded into the
transaction context in MVCCLockingInterceptor.handleEvictFqnCommand().
If for some reason your call to cache.evict() fails, then this is probably a bug.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4216642#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...