[Logo] Terracotta Discussion Forums (LEGACY READ-ONLY ARCHIVE)
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Ehcache locking error  XML
Forum Index -> General
Author Message
mlamdin

journeyman

Joined: 09/17/2007 10:32:24
Messages: 41
Offline

Trying to test an improvement to ehcache performance, I ran into this error:

Code:
SEVERE: Exception sending context initialized event to listener instance of class com.portblue.control.request.StartupListener
 com.tc.util.TCAssertionError: don't know how to translate lock level 0
         at com.tc.util.Assert.failure(Assert.java:60)
         at com.tc.object.tx.ClientTransactionManagerImpl.getTxnTypeFromLockLevel(ClientTransactionManagerImpl.java:210)
         at com.tc.object.tx.ClientTransactionManagerImpl.begin(ClientTransactionManagerImpl.java:173)
         at com.tc.object.bytecode.ManagerImpl.begin(ManagerImpl.java:337)
         at com.tc.object.bytecode.ManagerImpl.monitorEnter(ManagerImpl.java:507)
         at com.tc.object.bytecode.ManagerImpl.monitorEnter(ManagerImpl.java:495)
         at com.tc.object.bytecode.ManagerUtil.monitorEnter(ManagerUtil.java:485)
         at net.sf.ehcache.Cache.searchInMemoryStore(CacheTC.java:868)
         at net.sf.ehcache.Cache.get(CacheTC.java:734)
         at org.hibernate.cache.EhCache.get(EhCache.java:74)
         at org.hibernate.cache.ReadWriteCache.get(ReadWriteCache.java:80)
         at org.hibernate.event.def.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:490)
         at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:357)
         at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:139)
         at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:195)
         at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:103)
 


Any ideas on what the problem might be and how we might fix it?

We are using Terracotta 2.6.2 with the tim-ehcache 1.1.3 module - we were told to upgrade from tim-ehcache-1.1.2 to 1.1.3 and put the following line in our properties file:

'ehcache.lock.readLevel = NO_LOCK'.

This is our tc.properties file:

Code:
ehcache.concurrency = 61
 l2.l1reconnect.enabled = true
 l2.l1reconnect.timeout.millis = 15000
 ehcache.lock.readLevel = NO_LOCK
 


And this is our tc-config.xml:

Code:
<?xml version="2.0" encoding="UTF-8"?>
 <con:tc-config xmlns:con="http://www.terracotta.org/config">
   <servers>
     <server host="laxtrc01.portblue.com" name="laika">
       <dso-port>9510</dso-port>
       <jmx-port>9520</jmx-port>
       <l2-group-port>9530</l2-group-port>
       <dso>
         <persistence>
           <mode>permanent-store</mode>
         </persistence>
       </dso>
       <data>/var/db/terracotta/server1-data</data>
       <logs>/var/log/terracotta/server1-logs</logs>
     </server>
     <server host="laxtrc02.portblue.com" name="amundsen">
       <dso-port>9510</dso-port>
       <jmx-port>9520</jmx-port>
       <l2-group-port>9530</l2-group-port>
       <dso>
         <persistence>
           <mode>permanent-store</mode>
         </persistence>
       </dso>
       <data>/var/db/terracotta/server2-data</data>
       <logs>/var/log/terracotta/server2-logs</logs>
     </server>
     <ha>
       <mode>networked-active-passive</mode>
       <networked-active-passive><election-time>5</election-time></networked-active-passive>
     </ha>
   </servers>
   <clients>
     <logs>/var/log/terracotta/client-logs</logs>
     <modules>
       <module name="tim-hibernate-3.2.5" version="1.1.2"/>
       <module name="tim-ehcache-1.3" version="1.1.3"/>
     </modules>
   </clients>
   <application>
     <dso>
       <instrumented-classes>
         <include>
           <class-expression>com.portblue.model3.auth.ReauthInfo</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.value.definition.DataElement</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.creation.page.Page</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.history.user.UserLocation</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.resource.image.Image</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.creation.page.Note</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.admin.client.Client</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.value.definition.DataElementDefaultValue</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.resource.stylesheet.StylesheetResource</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.admin.user.Role</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.value.definition.DataElementChoiceValue</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.value.scalar..*</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.resource.image.ImageResource</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.resource.document.Document</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.creation.page.Paragraph</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.resource.stylesheet.Stylesheet</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.resource.textcomponent.TextComponentResource</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.resource.theme.Theme</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.resource.textcomponent.TextComponent</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.admin.motd.Motd</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.creation.module.Module</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.admin.user.User</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.model3.creation.application.Application</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>org.hibernate.intercept.LazyPropertyInitializer$*</class-expression>
           <honor-transient>true</honor-transient>
         </include>
         <include>
           <class-expression>com.portblue.control.request.SessionObjectAggregator</class-expression>
           <honor-transient>true</honor-transient>
         </include>
       </instrumented-classes>
       <web-applications>
         <web-application>s3</web-application>
       </web-applications>
       <additional-boot-jar-classes>
         <include>java.util.Locale</include>
       </additional-boot-jar-classes>
     </dso>
   </application>
 </con:tc-config>
 

Micah Lamdin, PortBlue Corporation
amiller

ophanim

Joined: 08/29/2007 09:05:48
Messages: 722
Location: St. Louis, MO
Offline

Certainly looks like a bad locking level, although everything you mentioned in terms of tim versions, the tc-config, and the tc.properties values looks correct to me.

The stack trace there should only be entered if the lock level is NOT nil (=0) so I don't understand why you are seeing that.

Someone will take a closer look and contact you.

Alex Miller (Terracotta Engineer) - Want to post to the forums? Sign up here
[WWW]
mlamdin

journeyman

Joined: 09/17/2007 10:32:24
Messages: 41
Offline

It was suggested that we delete the tim-ehcache-1.1.2 jars from the modules directory, but when we did so, the tim-hibernate-3.2.5-1.1.2 module gave us dependency errors - it had apparently needed them. This might have had something to do with our errors in the first place, but how do we get around it?

Can we use tim-hibernate-1.1.3 with Terracotta 2.6.2? When we delete the tim-ehcache-1.1.2 jars from the modules directory, tim-hibernate-1.1.2 complains about dependencies, and 1.1.3 says it’s for Terracotta 2.6.4 on Forge.

Do we need to upgrade to 2.6.4 and tim-hibernate-3.2.5-1.1.3 and tim-ehcache-1.1.4? Are there going to be dependency problems there too?

Micah Lamdin, PortBlue Corporation
amiller

ophanim

Joined: 08/29/2007 09:05:48
Messages: 722
Location: St. Louis, MO
Offline

Ah, I see. tim-hibernate-3.2.5-1.1.2 depends on tim-ehcache-1.1.2 but there is no 2.6.2-compatible version of tim-hibernate-3.2.5-1.1.2 available.

Looks like there are two options:
1) We could release a new tim-hibernate-3.2.5 version dependent on tim-ehcache-1.1.3 (unfortunately the numbering would be goofy).
2) You could bump up everything to 2.6.4-compatible versions. You should be fine moving everything to 2.6.4 as we did release versions of all TIMs along with 2.6.4.


Alex Miller (Terracotta Engineer) - Want to post to the forums? Sign up here
[WWW]
mlamdin

journeyman

Joined: 09/17/2007 10:32:24
Messages: 41
Offline

We'll look into upgrading to 2.6.4 (been meaning to do that soon anyway), but in the meantime, if there's a chance you guys could release a 1.1.3-compatible version of the tim-hibernate-3.2.5 module, that would be great.

Micah Lamdin, PortBlue Corporation
 
Forum Index -> General
Go to:   
Powered by JForum 2.1.7 © JForum Team