Any input on this matter is greatly appreciated :) Thanks, Antonio
-----Original Message----- From: MARTINEZ Antonio [mailto:[EMAIL PROTECTED] Sent: Monday, October 27, 2008 5:47 PM To: [email protected] Subject: Unable to lock global revision table (repository unstable) Hello, I'm using JR-1.4.4. In a cluster environment with a fairly large database, we sometimes get a MySql Exception "Lock wait timeout exceeded; try restarting transaction" After getting this exception, it appears that we can add more stuff to the DB, but then again, every now and then we get the same exception. MySql command: "show engine innodb status" shows that transaction has been waiting for 6 secs to get lock on table CLUSTER_GLOBAL_REVISION_IDX The scary thing is that it seams subsequent queries do not give accurate information (i.e, query return object that should not return for given filter), or we get different results for the same query on he same cluster node. As the exception indicates, we should restart the transaction, but a brief look at the code (in AbstractJournal.java) it appears that is not the case. Has anyone had the same issue? Any suggestion on how to tackle this issue? Thanks, Antonio This is the full exception: org.apache.jackrabbit.core.journal.JournalException: Unable to lock global revision table. at org.apache.jackrabbit.core.journal.DatabaseJournal.doLock(DatabaseJourna l.java:353) at org.apache.jackrabbit.core.journal.AbstractJournal.lockAndSync(AbstractJ ournal.java:245) at org.apache.jackrabbit.core.journal.DefaultRecordProducer.append(DefaultR ecordProducer.java:51) at org.apache.jackrabbit.core.cluster.ClusterNode$WorkspaceUpdateChannel.up dateCreated(ClusterNode.java:561) at org.apache.jackrabbit.core.state.SharedItemStateManager$Update.begin(Sha redItemStateManager.java:532) at org.apache.jackrabbit.core.state.SharedItemStateManager.beginUpdate(Shar edItemStateManager.java:843) at org.apache.jackrabbit.core.state.SharedItemStateManager.update(SharedIte mStateManager.java:873) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemS tateManager.java:324) at org.apache.jackrabbit.core.state.XAItemStateManager.update(XAItemStateMa nager.java:306) at org.apache.jackrabbit.core.state.LocalItemStateManager.update(LocalItemS tateManager.java:300) at org.apache.jackrabbit.core.state.SessionItemStateManager.update(SessionI temStateManager.java:317) at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1247) at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:897) at org.apache.jackrabbit.jca.JCASessionHandle.save(JCASessionHandle.java:17 8) at com.alcatel.axs.app.idm.nelist.InventoryNeListServiceImpl.setCollectionS tatus(InventoryNeListServiceImpl.java:243) at com.alcatel.axs.app.idm.nelist.InventoryNeListServiceImpl.collectionEnd( InventoryNeListServiceImpl.java:188) at com.alcatel.axs.app.idm.InventoryDiscoveryServiceImpl.doDiscoveryNow(Inv entoryDiscoveryServiceImpl.java:260) at sun.reflect.GeneratedMethodAccessor1535.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:36) at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:243) at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredMode lMBean.java:1074) at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean .java:955) at org.springframework.jmx.export.SpringModelMBean.invoke(SpringModelMBean. java:88) at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164) at org.jboss.mx.modelmbean.RequiredModelMBeanInvoker.invoke(RequiredModelMB eanInvoker.java:127) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.system.server.jmx.LazyMBeanServer.invoke(LazyMBeanServer.java: 291) at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocati onHandler.java:288) at $Proxy569.doDiscoveryNow(Unknown Source) at com.alcatel.axs.app.idm.InventoryJob.execute(InventoryJob.java:41) at com.alcatel.axs.container.jobmanager.ManagedJob.run(ManagedJob.java:48) at com.alcatel.axs.container.jobmanager.JMSJobExecutor.onMessage(JMSJobExec utor.java:50) at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvo keListener(AbstractMessageListenerContainer.java: 531) at org.springframework.jms.listener.AbstractMessageListenerContainer.invoke Listener(AbstractMessageListenerContainer.java:46 6) at org.springframework.jms.listener.AbstractMessageListenerContainer.doExec uteListener(AbstractMessageListenerContainer.java :435) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer .doReceiveAndExecute(AbstractPollingMessageListen erContainer.java:322) at org.springframework.jms.listener.AbstractPollingMessageListenerContainer .receiveAndExecute(AbstractPollingMessageListener Container.java:260) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMe ssageListenerInvoker.invokeListener(DefaultMessag eListenerContainer.java:944) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMe ssageListenerInvoker.run(DefaultMessageListenerCo ntainer.java:868) at java.lang.Thread.run(Thread.java:619) Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3256) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java: 1313) at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:874) at org.apache.jackrabbit.core.journal.DatabaseJournal.doLock(DatabaseJourna l.java:336) ... 44 more
