On 20 Mar 2013, at 18:18, Dan Berindei <dan.berindei(a)gmail.com> wrote:
The issue I'm seeing is that without deadlock detection the
commands that would normally time out are never executed on the thread pool, so after
running for a while you can end up with a lot "expired" commands in the queue.
The sender will give up after the replication timeout expires, but the recipient will keep
on checking if the commands can acquire their locks.
Hmm, this is no good.
Actually the sender should roll back the transaction when it gets a RPC timeout, so the
commands should be able to run at some point. It's just that you'll be ignoring
lockAcquisitionTimeout, which is usually smaller than replTimeout. I'm not sure how
big an issue this would be... Mircea, Manik?
But then the rollback command gets on the queue as well ... ?
--
Manik Surtani
manik(a)jboss.org
twitter.com/maniksurtani
Platform Architect, JBoss Data Grid
http://red.ht/data-grid