Author |
Message |
09/04/2008 13:28:31
|
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 |
|
|
09/04/2008 19:12:28
|
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 |
|
|
09/05/2008 11:50:04
|
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 |
|
|
09/05/2008 11:59:38
|
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 |
|
|
09/05/2008 12:37:24
|
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 |
|
|
|