cancel
Showing results for 
Search instead for 
Did you mean: 

Can not delete a record

flyingcadet
Champ in-the-making
Champ in-the-making
Hi, this is my first post to the forums, and I regret that it is because I am having a problem with the Records Management.

I am having a problem with deleting documents in the Records Management site.

Here is the scenario:
1) use "Copy to" from another share site to place the file into the appropriate folder, which is at the appropriate depth with the user account having privileges for working with the RM.
2)  either before or after setting the metadata, the file can not be deleted.  It can not be deleted after being declared a record, either.

The following is excerpt from the alfresco.log file.  I am only worried about this because I am foreseeing that somebody will accidentally grab the wrong file for the Records Management site.
20:29:39,651 ERROR [org.springframework.extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 08071686 Failed to execute transaction-level behaviour public abstract void org.alfresco.repo.node.NodeServicePolicies$OnDeleteNodePolicy.onDeleteNode(org.alfresco.service.cmr.repository.ChildAssociationRef,boolean) in transaction c4f47f53-646a-4ba5-abbf-a75723b7869b
org.alfresco.error.AlfrescoRuntimeException: 08071686 Failed to execute transaction-level behaviour public abstract void org.alfresco.repo.node.NodeServicePolicies$OnDeleteNodePolicy.onDeleteNode(org.alfresco.service.cmr.repository.ChildAssociationRef,boolean) in transaction c4f47f53-646a-4ba5-abbf-a75723b7869b
   at org.alfresco.repo.policy.TransactionBehaviourQueue.execute(TransactionBehaviourQueue.java:195)
   at org.alfresco.repo.policy.TransactionBehaviourQueue.beforeCommit(TransactionBehaviourQueue.java:127)
   at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.doBeforeCommit(AlfrescoTransactionSupport.java:738)
   at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.doBeforeCommit(AlfrescoTransactionSupport.java:718)
   at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:674)
   at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:95)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:927)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:737)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
   at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:394)
   at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:472)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:343)
   at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:417)
   at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:434)
   at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:298)
   at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:319)
   at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:177)
   at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:116)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Thread.java:619)
Caused by: org.alfresco.error.AlfrescoRuntimeException: 08071685 Failed to extract audit data:
   Path:      /DOD5015/event/node
   Raw value: workspace://version2Store/4d81a9a0-3c1b-48b0-bcb6-8a5896759f05
   Extractor: org.alfresco.module.org_alfresco_module_dod5015.audit.FilePlanNodeRefPathDataExtractor@fd271c
   at org.alfresco.repo.audit.AuditComponentImpl.extractData(AuditComponentImpl.java:1406)
   at org.alfresco.repo.audit.AuditComponentImpl.access$100(AuditComponentImpl.java:79)
   at org.alfresco.repo.audit.AuditComponentImpl$7.doWork(AuditComponentImpl.java:1338)
   at org.alfresco.repo.audit.AuditComponentImpl$7.doWork(AuditComponentImpl.java:1336)
   at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:508)
   at org.alfresco.repo.audit.AuditComponentImpl.audit(AuditComponentImpl.java:1334)
   at org.alfresco.repo.audit.AuditComponentImpl.recordAuditValuesImpl(AuditComponentImpl.java:1275)
   at org.alfresco.repo.audit.AuditComponentImpl.recordAuditValues(AuditComponentImpl.java:1217)
   at org.alfresco.module.org_alfresco_module_dod5015.audit.RecordsManagementAuditServiceImpl.auditRMEvent(RecordsManagementAuditServiceImpl.java:480)
   at org.alfresco.module.org_alfresco_module_dod5015.audit.RecordsManagementAuditServiceImpl.beforeDeleteNode(RecordsManagementAuditServiceImpl.java:429)
   at sun.reflect.GeneratedMethodAccessor990.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.alfresco.repo.policy.JavaBehaviour$JavaMethodInvocationHandler.invoke(JavaBehaviour.java:173)
   at $Proxy18.beforeDeleteNode(Unknown Source)
   at sun.reflect.GeneratedMethodAccessor776.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.alfresco.repo.policy.PolicyFactory$MultiHandler.invoke(PolicyFactory.java:300)
   at org.alfresco.repo.policy.$Proxy241.beforeDeleteNode(Unknown Source)
   at org.alfresco.repo.node.AbstractNodeServiceImpl.invokeBeforeDeleteNode(AbstractNodeServiceImpl.java:421)
   at org.alfresco.repo.node.db.DbNodeServiceImpl.deletePrimaryChildrenNotArchived(DbNodeServiceImpl.java:930)
   at org.alfresco.repo.node.db.DbNodeServiceImpl.deleteNode(DbNodeServiceImpl.java:858)
   at sun.reflect.GeneratedMethodAccessor796.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:307)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
   at org.alfresco.repo.tenant.MultiTNodeServiceInterceptor.invoke(MultiTNodeServiceInterceptor.java:104)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at $Proxy10.deleteNode(Unknown Source)
   at org.alfresco.repo.version.Version2ServiceImpl.deleteVersionHistory(Version2ServiceImpl.java:1062)
   at org.alfresco.repo.version.VersionableAspect.onDeleteNode(VersionableAspect.java:169)
   at sun.reflect.GeneratedMethodAccessor1003.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.alfresco.repo.policy.JavaBehaviour$JavaMethodInvocationHandler.invoke(JavaBehaviour.java:173)
   at $Proxy16.onDeleteNode(Unknown Source)
   at sun.reflect.GeneratedMethodAccessor1002.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at org.alfresco.repo.policy.TransactionBehaviourQueue.execute(TransactionBehaviourQueue.java:183)
   … 30 more
Caused by: org.alfresco.error.AlfrescoRuntimeException: 08071684 Unable to get NodeRef path for node:
   Node: workspace://version2Store/4d81a9a0-3c1b-48b0-bcb6-8a5896759f05
   at org.alfresco.module.org_alfresco_module_dod5015.RecordsManagementServiceImpl.getNodeRefPath(RecordsManagementServiceImpl.java:467)
   at org.alfresco.module.org_alfresco_module_dod5015.audit.FilePlanNodeRefPathDataExtractor.extractData(FilePlanNodeRefPathDataExtractor.java:79)
   at org.alfresco.repo.audit.AuditComponentImpl.extractData(AuditComponentImpl.java:1402)
   … 73 more
Caused by: org.alfresco.error.AlfrescoRuntimeException: 08071683 RM nodes must have aspect {http://www.alfresco.org/model/recordsmanagement/1.0}filePlanComponent
   at org.alfresco.module.org_alfresco_module_dod5015.RecordsManagementServiceImpl.getNodeRefPathRecursive(RecordsManagementServiceImpl.java:482)
   at org.alfresco.module.org_alfresco_module_dod5015.RecordsManagementServiceImpl.getNodeRefPathRecursive(RecordsManagementServiceImpl.java:501)
   at org.alfresco.module.org_alfresco_module_dod5015.RecordsManagementServiceImpl.getNodeRefPath(RecordsManagementServiceImpl.java:463)
   … 75 more

Thank you,

flyingcadet
7 REPLIES 7

flyingcadet
Champ in-the-making
Champ in-the-making
Update:

I have continued doing some tests, and I have noticed that RM site is trying to do a commit for the file.

here is the revised scenario:  After using version control on a document, the user(s) decide to use the "Copy to" so they can place the final version into the RM.  The user that has the responsible for getting the document into RM grabs the wrong file.  Since the document has the "versionable"  aspect, the "delete" option will first try to do a commit on the object before deleting it from RM.  As it appears that RM does not appear to support versioning, the operation fails.

I'm not sure which file, but can somebody please point me to the files that contain the functions for "copy to" and "delete?"  I want to look into these files and see if I can create a temp work around.

Thank you,

rwetherall
Confirmed Champ
Confirmed Champ
Hi,

Since the node that has been made a record already has a version history, when it it being deleted (during the move I presume), the RM audit is being a little too enthusiastic (perhaps?) and trying to audit the details of the version node before it is deleted (hence the failure since the version node is not a file plan component).

If you wish to find a temporary fix I would suggest starting in RecordsManagementAuditServiceImpl.auditRMEvent (perhaps excluding nodes in the version store here) and working down the stack trace until you find a suitable place to ignore the version history node (you can identify version nodes because the reside in the version2Store).

This, however, does sound like a genuine bug and it would be helpful if you could create a JIRA ticket (in issues.alfresco.com) outlining the steps needed to reproduce the issue you are seeing so we can schedule some time to take a closer look.

Thanks,
Roy

flyingcadet
Champ in-the-making
Champ in-the-making
Thanks, rwetherall.

I'll have the bug report submitted in just a few.

flyingcadet

rgihicks
Champ in-the-making
Champ in-the-making
So what's the workaround to delete these items?  Is there a backdoor way to delete?  I have the same issue.

flyingcadet
Champ in-the-making
Champ in-the-making
Here is a link to the bug report:  http://issues.alfresco.com/jira/browse/ALF-5012

Regrettably, there isn't much that you can do for a work around.  However, you can generate a procedure for this event.  This policy *might* break DoD 5015.02 standards though.  I'm not certain, as I am not a RM expert (not yet, at least).  The following is my work around copied from the bug report.  Please note, you have to make the file a record for this work around:
Currently, we are using the following work around for this issue: in the File Plan, a series and category has been created with the labels "Trash." The category has a disposition cycle set up to cut-off documents, not folders, within 24 hours. At cut-off, the document is disposed/destroyed immediately. Users can also cut-off the document manually. The meta data associated with the document will still be retained by RM, but will be deleted when the fix for this bug is release.

flyingcadet

ghernando
Champ in-the-making
Champ in-the-making
My experience has also been that any record that I file to records management via an email client using IMAP can not be deleted.
As a workaround, I created a delete folder that I move the records to that I want to delete.

dk1
Champ in-the-making
Champ in-the-making
My experience has also been that any record that I file to records management via an email client using IMAP can not be deleted.
As a workaround, I created a delete folder that I move the records to that I want to delete.

Is there no other solution to this problem?? This seems very time consuming.. i want something automated