On 18 Oct 2012, at 16:41, Manik Surtani wrote:
Hey guys,
Investigating why EmbeddedCacheManager#cacheRemove hiccups
DistributedTwoNodesMapReduceTest. As you might recall upon end of
MapReduceTask there is EmbeddedCacheManager#cacheRemove call to remove
intermediate caches across the cluster.
I think you meant ECM#removeCache?
Very often, almost every test
run, execution of cache remove is blocked by ongoing transactions that
have not completed - more specifically TransactionTable shows pending
remote transaction. This in turn prevents cache stop call, which in turn
causes a timeout on cache remove thus failing the test.
MapReduce uses txs in MapReduceManagerImpl#combine - it might well be
that there is smth wrong there or it could be that somehow
^^^ Does this mean that to use Map/Reduce now, we *require* that a transaction manager is available, configured and present?
Not really. It's only that the problem Vladimir describes only occurs when you run the MR against transactional caches (there is a tx leak which prevents caches to stop, that should be fixed by a pull request I sent).