AnsweredAssumed Answered

AVM directories disappearing over CIFS/FTP

Question asked by ipapas on Feb 25, 2009
Latest reply on Feb 25, 2009 by mrogers
We’ve encountered an interesting issue with WCM where all AVM folders disappear for a user when changes occur in a web project (eg: content is submitted into a workflow).  In our case, userA [Content Publisher] submits content from their sandbox in webProjectA.  Typically, the content from the user’s sandbox is available in:

ftp://<alfresco-server>/AVM/webProjectA–userA/HEAD/DATA/www/avm_webapps/ROOT/

The same structure applies to CIFS, with the AVM folder structure looking like so:

/AVM/webProjectA
/AVM/webProjectA–admin
/AVM/webProjectA–userA
/AVM/webProjectB
/AVM/webProjectB–admin
/AVM/webProjectB–userA

For some reason, once any content is submitted, all directories in the AVM folder disappear for userA (admin [Content Manager] can sometimes still see these folders over FTP/CIFS, sometimes they go blank for admin as well).  This will also happen if a user makes a change in webProjectB.  It seems the user is suddenly denied from accessing the entire AVM folder, and the server produces the following stacktrace:


00:27:38,875 ERROR [alfresco.ftp.protocol] Error generating FTP path
org.alfresco.repo.security.permissions.AccessDeniedException: Access Denied.  You do not have the appropriate permissions to perform this operation.
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:53)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
        at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.java:245)
        at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:69)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
        at $Proxy3.getChildAssocs(Unknown Source)
        at org.alfresco.filesys.avm.AVMDiskDriver.findPseudoState(AVMDiskDriver.java:2307)
        at org.alfresco.filesys.avm.AVMDiskDriver.checkPathAccess(AVMDiskDriver.java:2762)
        at org.alfresco.filesys.avm.AVMDiskDriver.buildStorePath(AVMDiskDriver.java:775)
        at org.alfresco.filesys.avm.AVMDiskDriver.fileExists(AVMDiskDriver.java:1177)
        at org.alfresco.filesys.ftp.FTPSrvSession.generatePathForRequest(FTPSrvSession.java:592)
        at org.alfresco.filesys.ftp.FTPSrvSession.generatePathForRequest(FTPSrvSession.java:430)
        at org.alfresco.filesys.ftp.FTPSrvSession.procFileSize(FTPSrvSession.java:3606)
        at org.alfresco.filesys.ftp.FTPSrvSession.run(FTPSrvSession.java:4330)
        at java.lang.Thread.run(Thread.java:595)
Caused by: net.sf.acegisecurity.AccessDeniedException: Access is denied.
        at net.sf.acegisecurity.vote.AffirmativeBased.decide(AffirmativeBased.java:86)
        at net.sf.acegisecurity.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:394)
        at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:77)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:49)
        … 17 more

Has  anyone seen this behavior before?  This is crucial to our project since the developer ant script pulls web project content over FTP, using the user’s account.  Also, if the server is restarted, userA can access the AVM folder again without issue, which leads us to believe this may be a resource or state issue.  Occasionally, if the submission completes the workflow access also returns, but I haven’t been able to make it happen consistently. 

Thanks in advance,
Ilia

Outcomes