<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    org.jboss.cache.lock.TimeoutException: Unable to acquire lock on Fqn after [0] milliseconds- when trying to do evict on read-only cached Entity
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/vikrammurugesan">Vikram Murugesan</a> in <i>JBoss Cache</i> - <a href="https://community.jboss.org/message/778702#778702">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hello,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>We are using JBoss Cache to cache our entities in a clustered JBoss Environment (with 6 nodes mostly. sometimes use 8 nodes). We have JTA configured and most of our ENTITIES are cached in transactional strategy. But there is this one entity that is cached in read-only strategy.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This Entity is mapped to kind of a key/value pair table with just 2 columns (key and value). We maintain this entity in read-only cache intstead of transactional mode because the values in this table are being accessed multiple times. We also performed some JMeter load tests on our application and proved that transactional mode was expensive than readonly.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>As this entity is marked readonly, whenever the value of one of this entity is changed, we have a inbuilt framework that does a evict on this entity on all the other JBoss nodes. This way we ensure that the value of the modified entity is the same across all nodes. But here is where we are getting a org.jboss.cache.lock.TimeoutException. If my understanding is right, this exception is thrown as all the JBoss nodes are trying to acquire a lock on the node at the same time when our inbuillt framework tries to evict the node.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>To add - we use the default mvcc-entity cache config</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="text-decoration: underline;"><strong>Version Details :</strong></span></p><p><strong><br/></strong></p><p>JBoss EAP 5.1.2<strong><br/></strong></p><p>jbosscache - 3.2.8.GA</p><p>hibernate-jbosscache2 - 3.3.2.GA_CP04</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="text-decoration: underline;"><strong>Here is the stacktrace :</strong></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>{code} </p><p>14:41:10,696 WARN&#160; [InvalidationInterceptor] Unable to broadcast evicts as a part of the prepare phase.&#160; Rolling back.</p><p>org.jboss.cache.lock.TimeoutException: Unable to acquire lock on Fqn [/path/to/entity/ENTITY/path.to.entity.ApplicationProperty#property.key.value] after [0] milliseconds for requestor [Thread[Incoming-19,135.215.109.38:55300,10,Thread Pools]]! Lock held by [GlobalTransaction:&lt;135.215.109.38:55300&gt;:19]</p><p>&#160;&#160;&#160; at org.jboss.cache.mvcc.MVCCNodeHelper.acquireLock(MVCCNodeHelper.java:159)</p><p>&#160;&#160;&#160; at org.jboss.cache.mvcc.MVCCNodeHelper.wrapNodesRecursivelyForRemoval(MVCCNodeHelper.java:339)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.MVCCLockingInterceptor.handleInvalidateCommand(MVCCLockingInterceptor.java:203)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.PrePostProcessingCommandInterceptor.visitInvalidateCommand(PrePostProcessingCommandInterceptor.java:203)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.TxInterceptor.visitInvalidateCommand(TxInterceptor.java:269)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:130)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.InterceptorChain.invokeRemote(InterceptorChain.java:316)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.remote.ReplicateCommand.processSingleCommand(ReplicateCommand.java:139)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.remote.ReplicateCommand.perform(ReplicateCommand.java:115)</p><p>&#160;&#160;&#160; at org.jboss.cache.marshall.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:319)</p><p>&#160;&#160;&#160; at org.jboss.cache.marshall.InactiveRegionAwareRpcDispatcher.handle(InactiveRegionAwareRpcDispatcher.java:95)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:637)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:545)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:368)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775)</p><p>&#160;&#160;&#160; at org.jgroups.JChannel.up(JChannel.java:1336)</p><p>&#160;&#160;&#160; at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:454)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:490)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:153)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FRAG2.up(FRAG2.java:188)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FC.up(FC.java:473)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.GMS.up(GMS.java:821)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.VIEW_SYNC.up(VIEW_SYNC.java:192)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:233)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.UNICAST.up(UNICAST.java:328)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:895)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:708)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.BARRIER.up(BARRIER.java:136)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:167)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FD.up(FD.java:284)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:328)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.MERGE2.up(MERGE2.java:144)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.Discovery.up(Discovery.java:264)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.PING.up(PING.java:273)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP$ProtocolAdapter.up(TP.java:2319)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP.passMessageUp(TP.java:1253)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP.access$100(TP.java:50)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1830)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1809)</p><p>&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)</p><p>&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)</p><p>&#160;&#160;&#160; at java.lang.Thread.run(Thread.java:662)</p><p>14:41:10,704 WARN&#160; [TxInterceptor] Caught exception, will now set transaction to roll back</p><p>org.jboss.cache.lock.TimeoutException: Unable to acquire lock on Fqn [/path/to/entity/ENTITY/path.to.entity.ApplicationProperty#property.key.value] after [0] milliseconds for requestor [Thread[Incoming-19,135.215.109.38:55300,10,Thread Pools]]! Lock held by [GlobalTransaction:&lt;135.215.109.38:55300&gt;:19]</p><p>&#160;&#160;&#160; at org.jboss.cache.mvcc.MVCCNodeHelper.acquireLock(MVCCNodeHelper.java:159)</p><p>&#160;&#160;&#160; at org.jboss.cache.mvcc.MVCCNodeHelper.wrapNodesRecursivelyForRemoval(MVCCNodeHelper.java:339)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.MVCCLockingInterceptor.handleInvalidateCommand(MVCCLockingInterceptor.java:203)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.PrePostProcessingCommandInterceptor.visitInvalidateCommand(PrePostProcessingCommandInterceptor.java:203)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.TxInterceptor.visitInvalidateCommand(TxInterceptor.java:269)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:130)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.InterceptorChain.invokeRemote(InterceptorChain.java:316)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.remote.ReplicateCommand.processSingleCommand(ReplicateCommand.java:139)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.remote.ReplicateCommand.perform(ReplicateCommand.java:115)</p><p>&#160;&#160;&#160; at org.jboss.cache.marshall.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:319)</p><p>&#160;&#160;&#160; at org.jboss.cache.marshall.InactiveRegionAwareRpcDispatcher.handle(InactiveRegionAwareRpcDispatcher.java:95)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:637)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:545)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:368)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775)</p><p>&#160;&#160;&#160; at org.jgroups.JChannel.up(JChannel.java:1336)</p><p>&#160;&#160;&#160; at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:454)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:490)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:153)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FRAG2.up(FRAG2.java:188)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FC.up(FC.java:473)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.GMS.up(GMS.java:821)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.VIEW_SYNC.up(VIEW_SYNC.java:192)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:233)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.UNICAST.up(UNICAST.java:328)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:895)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:708)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.BARRIER.up(BARRIER.java:136)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:167)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FD.up(FD.java:284)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:328)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.MERGE2.up(MERGE2.java:144)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.Discovery.up(Discovery.java:264)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.PING.up(PING.java:273)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP$ProtocolAdapter.up(TP.java:2319)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP.passMessageUp(TP.java:1253)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP.access$100(TP.java:50)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1830)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1809)</p><p>&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)</p><p>&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)</p><p>&#160;&#160;&#160; at java.lang.Thread.run(Thread.java:662)</p><p>14:41:10,727 WARN&#160; [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@e97df0 Drive beforeCompletion participants.</p><p>org.jboss.cache.lock.TimeoutException: Unable to acquire lock on Fqn [/path/to/entity/ENTITY/path.to.entity.ApplicationProperty#property.key.value] after [0] milliseconds for requestor [Thread[Incoming-19,135.215.109.38:55300,10,Thread Pools]]! Lock held by [GlobalTransaction:&lt;135.215.109.38:55300&gt;:19]</p><p>&#160;&#160;&#160; at org.jboss.cache.mvcc.MVCCNodeHelper.acquireLock(MVCCNodeHelper.java:159)</p><p>&#160;&#160;&#160; at org.jboss.cache.mvcc.MVCCNodeHelper.wrapNodesRecursivelyForRemoval(MVCCNodeHelper.java:339)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.MVCCLockingInterceptor.handleInvalidateCommand(MVCCLockingInterceptor.java:203)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.PrePostProcessingCommandInterceptor.visitInvalidateCommand(PrePostProcessingCommandInterceptor.java:203)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.TxInterceptor.visitInvalidateCommand(TxInterceptor.java:269)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:130)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.AbstractVisitor.visitInvalidateCommand(AbstractVisitor.java:90)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.write.InvalidateCommand.acceptVisitor(InvalidateCommand.java:125)</p><p>&#160;&#160;&#160; at org.jboss.cache.interceptors.InterceptorChain.invokeRemote(InterceptorChain.java:316)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.remote.ReplicateCommand.processSingleCommand(ReplicateCommand.java:139)</p><p>&#160;&#160;&#160; at org.jboss.cache.commands.remote.ReplicateCommand.perform(ReplicateCommand.java:115)</p><p>&#160;&#160;&#160; at org.jboss.cache.marshall.CommandAwareRpcDispatcher.executeCommand(CommandAwareRpcDispatcher.java:319)</p><p>&#160;&#160;&#160; at org.jboss.cache.marshall.InactiveRegionAwareRpcDispatcher.handle(InactiveRegionAwareRpcDispatcher.java:95)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:637)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:545)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:368)</p><p>&#160;&#160;&#160; at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775)</p><p>&#160;&#160;&#160; at org.jgroups.JChannel.up(JChannel.java:1336)</p><p>&#160;&#160;&#160; at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:454)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:490)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:153)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FRAG2.up(FRAG2.java:188)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FC.up(FC.java:473)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.GMS.up(GMS.java:821)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.VIEW_SYNC.up(VIEW_SYNC.java:192)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:233)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.UNICAST.up(UNICAST.java:328)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:895)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:708)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.BARRIER.up(BARRIER.java:136)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:167)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FD.up(FD.java:284)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:328)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.MERGE2.up(MERGE2.java:144)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.Discovery.up(Discovery.java:264)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.PING.up(PING.java:273)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP$ProtocolAdapter.up(TP.java:2319)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP.passMessageUp(TP.java:1253)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP.access$100(TP.java:50)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1830)</p><p>&#160;&#160;&#160; at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1809)</p><p>&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)</p><p>&#160;&#160;&#160; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)</p><p>&#160;&#160;&#160; at java.lang.Thread.run(Thread.java:662)</p><p>{code}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="text-decoration: underline;"><strong>Code :</strong></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>{code} HibernateUtil.getSessionFactory().evict(ApplicationProperty.class, aPropertyKey); {code}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The above code is being executed by all 6 JBoss nodes simultaneously.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Please provide your thoughts and appreciate if you can help fixing this. I would be glad to provide more info if I have missed any.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Thanks!</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/778702#778702">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Cache at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2052">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>