Timeout exception occurs at the time of eviction, I am using
jboss transaction to manage transaction and set lockAcquisitionTimeout
to 20 seconds but eviction lock is timing out in o seconds .
Configuration and exception is given below.
<?xml version="1.0"
encoding="UTF-8"?>
<jbosscache
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:jboss:jbosscache-core:config:3.2">
<locking
isolationLevel="REPEATABLE_READ"
lockParentForChildInsertRemove="false"
lockAcquisitionTimeout="20000"
nodeLockingScheme="mvcc"
writeSkewCheck="false"
concurrencyLevel="500"/>
<!-- By not specifying the 'clustering'
element, the cache runs in LOCAL mode. -->
<!-- Configure the TransactionManager -->
<transaction
transactionManagerLookupClass="org.jboss.cache.transaction.JBossStandaloneJTAManagerLookup"/>
<!--
Eviction
configuration. WakeupInterval defines how often the eviction thread runs,
in milliseconds. 0 means
the eviction thread
will never run.
-->
<eviction wakeUpInterval="3000">
<default
algorithmClass="org.jboss.cache.eviction.LRUAlgorithm"
eventQueueSize="2000">
<property name="maxNodes"
value="1"/>
<property
name="timeToLive" value="10000"/>
</default>
<region
name="/ASOF/POS"
algorithmClass="org.jboss.cache.eviction.LRUAlgorithm" >
<property name="maxNodes" value="10" />
<property name="timeToLive" value="120000" />
</region>
<region
name="/ASOF/AXE"
algorithmClass="org.jboss.cache.eviction.LRUAlgorithm" >
<property name="maxNodes" value="10" />
<property name="timeToLive" value="120000" />
</region>
<region
name="/ASOF/TIA"
algorithmClass="org.jboss.cache.eviction.LRUAlgorithm" >
<property name="maxNodes" value="10" />
<property name="timeToLive"
value="120000" />
</region>
<region
name="/ASOF/FUNDS"
algorithmClass="org.jboss.cache.eviction.LRUAlgorithm" >
<property name="maxNodes" value="10" />
<property name="timeToLive" value="120000" />
</region>
</eviction>
<loaders passivation="false"
shared="false">
<loader
class="org.jboss.cache.loader.FileCacheLoader"
async="false"
fetchPersistentState="true"
ignoreModifications="false"
purgeOnStartup="false">
<properties>
location=C:/proddata/icebox/data/jbossCache
</properties>
</loader>
</loaders>
</jbosscache>
DEBUG 04 May 18:58:27 [EvictionTimer-0]
eviction.DefaultEvictionActionPolicy (DefaultEvictionActionPolicy.java:55) -
Unable to evict /ASOF/POS/20091221/196
org.jboss.cache.lock.TimeoutException: Unable to acquire
lock on Fqn [/ASOF/POS/20091221/196] after [0] milliseconds for requestor
[Thread[EvictionTimer-0,5,main]]! Lock held by
[GlobalTransaction:<null>:480]
at org.jboss.cache.mvcc.MVCCNodeHelper.acquireLock(MVCCNodeHelper.java:159)
at org.jboss.cache.mvcc.MVCCNodeHelper.wrapNodeForWriting(MVCCNodeHelper.java:217)
at
org.jboss.cache.mvcc.MVCCNodeHelper.wrapNodeForWriting(MVCCNodeHelper.java:186)
at org.jboss.cache.interceptors.MVCCLockingInterceptor.handleNonrecursiveEvict(MVCCLockingInterceptor.java:194)
at
org.jboss.cache.interceptors.MVCCLockingInterceptor.handleEvictFqnCommand(MVCCLockingInterceptor.java:138)
at org.jboss.cache.interceptors.base.PrePostProcessingCommandInterceptor.visitEvictFqnCommand(PrePostProcessingCommandInterceptor.java:185)
at
org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:178)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at
org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)
at
org.jboss.cache.commands.AbstractVisitor.visitEvictFqnCommand(AbstractVisitor.java:85)
at org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:178)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:131)
at
org.jboss.cache.commands.AbstractVisitor.visitEvictFqnCommand(AbstractVisitor.java:85)
at
org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:178)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at
org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(TxInterceptor.java:301)
at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxInterceptor.java:283)
at
org.jboss.cache.commands.AbstractVisitor.visitEvictFqnCommand(AbstractVisitor.java:85)
at
org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:178)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at
org.jboss.cache.interceptors.CacheMgmtInterceptor.visitEvictFqnCommand(CacheMgmtInterceptor.java:68)
at org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:178)
at
org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:178)
at
org.jboss.cache.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:130)
at org.jboss.cache.commands.AbstractVisitor.visitEvictFqnCommand(AbstractVisitor.java:85)
at
org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:178)
at
org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:287)
at org.jboss.cache.invocation.CacheInvocationDelegate.evict(CacheInvocationDelegate.java:430)
at
org.jboss.cache.invocation.CacheInvocationDelegate.evict(CacheInvocationDelegate.java:435)
at org.jboss.cache.eviction.DefaultEvictionActionPolicy.evict(DefaultEvictionActionPolicy.java:50)
at
org.jboss.cache.eviction.BaseEvictionAlgorithm.evictCacheNode(BaseEvictionAlgorithm.java:265)
at org.jboss.cache.eviction.LRUAlgorithm.evict(LRUAlgorithm.java:121)
at org.jboss.cache.eviction.LRUAlgorithm.prune(LRUAlgorithm.java:153)
at
org.jboss.cache.eviction.BaseEvictionAlgorithm.process(BaseEvictionAlgorithm.java:146)
at org.jboss.cache.RegionImpl.processEvictionQueues(RegionImpl.java:128)
at
org.jboss.cache.eviction.EvictionTimerTask.handleRegion(EvictionTimerTask.java:115)
at
org.jboss.cache.eviction.EvictionTimerTask.processRegions(EvictionTimerTask.java:107)
at
org.jboss.cache.eviction.EvictionTimerTask.access$100(EvictionTimerTask.java:42)
at
org.jboss.cache.eviction.EvictionTimerTask$Task.run(EvictionTimerTask.java:133)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
Regards,
The Rohatyn Group,
212-984-3512.