I'm using Terracotta 3.0.
I have several processes in the same machine clustered by Terracotta.
I've observed that they become dead locked.
Here are the stack traces:
Process 1:
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at com.tc.object.tx.RemoteTransactionManagerImpl.waitUntilRunning(RemoteTransactionManagerImpl.java:446)
at com.tc.object.tx.RemoteTransactionManagerImpl.commit(RemoteTransactionManagerImpl.java:252)
at com.tc.object.tx.ClientTransactionManagerImpl.commitInternal(ClientTransactionManagerImpl.java:531)
at com.tc.object.tx.ClientTransactionManagerImpl.commit(ClientTransactionManagerImpl.java:495)
at com.tc.object.tx.ClientTransactionManagerImpl.commit(ClientTransactionManagerImpl.java:423)
at com.tc.object.bytecode.ManagerImpl.monitorExit(ManagerImpl.java:550)
at com.tc.object.bytecode.ManagerUtil.monitorExit(ManagerUtil.java:481)
I suggest that you upgrade to the latest version of Terracotta. We've gone through a major overhaul of the entire locking system, which eradicated a number of outstanding problems and also increased performance a lot.