AnsweredAssumed Answered

Errors  trying to update user space permissions

Question asked by axisinternet on Mar 24, 2009
Have Alfresco 3 installed and loaded with content for one of our customers. Some of the spaces have deeply nested folders with lots of documents. I am now trying to set the permissions for the folders which requires that I first uncheck the Inherit Permissions option. When I do this on a folder without many subfolders or documents it works find and quickly. But, on a higher level on folders with lots of subfolders and/or documents, it goes for awhile (sometime ~30 mins or more) and then returns the error:

A system error happened during the operation: could not update: [org.alfresco.repo.domain.hibernate.NodeImpl#479]

with the trailing number being different with each attempt. From the alfresco.log file:

16:02:55,687 ERROR [org.alfresco.web.ui.common.Utils] A system error happened during the operation: could not update: [org.alfresco.repo.domain.hibernate.NodeImpl#477]
org.hibernate.exception.GenericJDBCException: could not update: [org.alfresco.repo.domain.hibernate.NodeImpl#477]                                                     
        at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)                                                          
        at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)                                                                               
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)                                                                           
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2430)                                                           
        at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2312)                                                   
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2612)                                                           
        at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:96)                                                                                
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:322)                                                                                             
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:306)                                                                                      
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:183)                                                                                      
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)                                            
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)                                                               
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)                                                                                                
        at org.alfresco.repo.domain.hibernate.HibernateSessionHelperResource.doResetAndRemove(HibernateSessionHelperResource.java:197)                                
        at org.alfresco.repo.domain.hibernate.HibernateSessionHelperResource.resetAndRemoveMark(HibernateSessionHelperResource.java:170)                              
        at org.alfresco.repo.domain.hibernate.HibernateSessionHelper.resetAndRemoveMark(HibernateSessionHelper.java:85)                                               
        at org.alfresco.repo.domain.hibernate.DMAccessControlListDAO.setFixedAcls(DMAccessControlListDAO.java:379)                                                    
        at org.alfresco.repo.domain.hibernate.DMAccessControlListDAO.setInheritanceForChildren(DMAccessControlListDAO.java:308)                                       
        at org.alfresco.repo.domain.hibernate.DMPermissionsDaoComponentImpl.createAccessControlList(DMPermissionsDaoComponentImpl.java:93)                            
        at org.alfresco.repo.domain.hibernate.AbstractPermissionsDaoComponentImpl.getMutableAccessControlList(AbstractPermissionsDaoComponentImpl.java:216)           
        at org.alfresco.repo.domain.hibernate.AbstractPermissionsDaoComponentImpl.setInheritParentPermissions(AbstractPermissionsDaoComponentImpl.java:511)           
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)                                                                                                
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)                                                                              
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                      
        at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                           
        at org.alfresco.repo.service.StoreRedirectorProxyFactory$RedirectorInvocationHandler.invoke(StoreRedirectorProxyFactory.java:221)                             
        at $Proxy6.setInheritParentPermissions(Unknown Source)                                                                                                        
        at org.alfresco.repo.security.permissions.impl.PermissionServiceImpl.setInheritParentPermissions(PermissionServiceImpl.java:932)                              
        at sun.reflect.GeneratedMethodAccessor1482.invoke(Unknown Source)                                                                                             
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                      
        at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                           
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)                                                                 
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)                                          
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)                                                  
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)                                                 
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)                                                  
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)                                                                   
        at $Proxy16.setInheritParentPermissions(Unknown Source)                                                                                                       
        at sun.reflect.GeneratedMethodAccessor1482.invoke(Unknown Source)                                                                                             
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)                                                                      
        at java.lang.reflect.Method.invoke(Method.java:597)                                                                                                           
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:296)                                                                 
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:177)                                          
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)                                                  
        at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:80)                                      
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)                                                  
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49)                      
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)                                                  
        at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.java:275)                                                                              
        at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:69)                                                                      
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)                                                  
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)                                                 
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)                                                  
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy20.setInheritParentPermissions(Unknown Source)
        at org.alfresco.web.bean.users.UserMembersBean.inheritPermissionsValueChanged(UserMembersBean.java:598)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
        at javax.faces.component.UIInput.broadcast(UIInput.java:244)
        at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
        at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:150)
        at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
        at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
        at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
        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:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2019)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1937)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1922)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
        at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2412)
        … 81 more

This is using a MySQL database (local on the Alfresco server).

Is there a solution to this or a workaround in the form, possibly, of an SQL query that can be run on the database tables to update the permissions there outside of the admin web interface?


Chris Stone
AxisInternet, Inc.

Outcomes