[hibernate-commits] Hibernate SVN: r18849 - core/trunk/cache-infinispan/src/main/resources/org/hibernate/cache/infinispan/builder.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Mon Feb 22 11:43:06 EST 2010


Author: galder.zamarreno at jboss.com
Date: 2010-02-22 11:43:06 -0500 (Mon, 22 Feb 2010)
New Revision: 18849

Modified:
   core/trunk/cache-infinispan/src/main/resources/org/hibernate/cache/infinispan/builder/infinispan-configs.xml
Log:
Disable lock striping to avoid potential deadlocks like the ones explained in http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4218955#4218955. It's worth noting that In Infinispan, each entity/collection has its own cache and the update timestamps and query cache are maintained separately, so the chances of this happening are much lower.

Modified: core/trunk/cache-infinispan/src/main/resources/org/hibernate/cache/infinispan/builder/infinispan-configs.xml
===================================================================
--- core/trunk/cache-infinispan/src/main/resources/org/hibernate/cache/infinispan/builder/infinispan-configs.xml	2010-02-22 16:37:22 UTC (rev 18848)
+++ core/trunk/cache-infinispan/src/main/resources/org/hibernate/cache/infinispan/builder/infinispan-configs.xml	2010-02-22 16:43:06 UTC (rev 18849)
@@ -23,7 +23,8 @@
          <stateRetrieval fetchInMemoryState="false" timeout="20000"/>
          <sync replTimeout="20000"/>
       </clustering>
-      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000" lockAcquisitionTimeout="15000"/>
+      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000"
+               lockAcquisitionTimeout="15000" useLockStriping="false" />
       <!-- Eviction configuration.  WakeupInterval defines how often the eviction thread runs, in milliseconds.  
            0 means the eviction thread will never run.  A separate executor is used for eviction in each cache. -->
       <eviction wakeUpInterval="5000" maxEntries="10000" strategy="LRU"/>
@@ -43,7 +44,8 @@
         repeatable-read semantic. Before choosing this config, carefully read the docs
         and make sure you really need REPEATABLE_READ.
        -->
-      <locking isolationLevel="REPEATABLE_READ" concurrencyLevel="1000" lockAcquisitionTimeout="15000"/>
+      <locking isolationLevel="REPEATABLE_READ" concurrencyLevel="1000"
+               lockAcquisitionTimeout="15000" useLockStriping="false"/>
       <!-- Eviction configuration.  WakeupInterval defines how often the eviction thread runs, in milliseconds.  
            0 means the eviction thread will never run.  A separate executor is used for eviction in each cache. -->
       <eviction wakeUpInterval="5000" maxEntries="10000" strategy="LRU"/>
@@ -57,7 +59,8 @@
          <stateRetrieval fetchInMemoryState="false" timeout="20000"/>
          <sync replTimeout="20000"/>
       </clustering>
-      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000" lockAcquisitionTimeout="15000"/>
+      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000"
+               lockAcquisitionTimeout="15000" useLockStriping="false"/>
       <!-- Eviction configuration.  WakeupInterval defines how often the eviction thread runs, in milliseconds.  
            0 means the eviction thread will never run.  A separate executor is used for eviction in each cache. -->
       <eviction wakeUpInterval="5000" maxEntries="10000" strategy="LRU"/>
@@ -68,7 +71,8 @@
    
    <!-- A config appropriate for query caching. Does not replicate queries. -->
    <namedCache name="local-query">
-      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000" lockAcquisitionTimeout="15000"/>
+      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000"
+               lockAcquisitionTimeout="15000" useLockStriping="false"/>
       <!--Eviction configuration.  WakeupInterval defines how often the eviction thread runs, in milliseconds.  0 means
          the eviction thread will never run.  A separate executor is used for eviction in each cache. -->
       <eviction wakeUpInterval="5000" maxEntries="10000" strategy="LRU"/>
@@ -81,7 +85,8 @@
          <stateRetrieval fetchInMemoryState="false"/>
          <async/>
       </clustering>
-      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000" lockAcquisitionTimeout="15000"/>
+      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000"
+               lockAcquisitionTimeout="15000" useLockStriping="false"/>
       <!--Eviction configuration.  WakeupInterval defines how often the eviction thread runs, in milliseconds.  0 means
          the eviction thread will never run.  A separate executor is used for eviction in each cache. -->
       <eviction wakeUpInterval="5000" maxEntries="10000" strategy="LRU"/>
@@ -96,7 +101,8 @@
          <stateRetrieval fetchInMemoryState="true" timeout="20000"/>
          <async/>
       </clustering>
-      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000" lockAcquisitionTimeout="15000"/>
+      <locking isolationLevel="READ_COMMITTED" concurrencyLevel="1000"
+               lockAcquisitionTimeout="15000" useLockStriping="false"/>
       <lazyDeserialization enabled="true"/>
       <!--  Don't ever evict modification timestamps -->
       <eviction wakeUpInterval="0" strategy="NONE"/>



More information about the hibernate-commits mailing list