0

I have a ContentType retention policy on my list. It has 2 fases. First fase declares a record. Second fase moves the declared record to a record center after a day. On 2013 this works fine. On my 2019 box only the first fase works. So a record is declared. The second fase is not working and I get this error in the ULS

File ******* is not moved because it's a record and deleteblocked

Steps to reproduce

All actions are done via Site settings and central admin

  • We have created a new site collection (Record Center English)
  • We configured the new Record Center as a send to connection
  • We have created a new site collection (team site English)
  • Enable in place record management
  • We have created a custom contenttype that inherits from the document contenttype
  • We have created a information right policy on our custom contenttype
  • This information right policy has 2 fases. Fase 1 (non record): Declare item as record based on created + 0 days (0 days is for testing purpose) Fase 2 (For records): Move the item to a sendto location (newly created record center) based on declared as record + 0 days (0 days is for testing purpose)

Retention Policy

  • We created a custom document library, enabled contenttypes and add our contenttype to the library.
  • We set our custom contenttype as default and remove the out of the box contenttype document
  • Drag a file in the new library.
  • Run the expiration policy SharePoint timer job. We see the item declared as record
  • Run the expiration policy SharePoint timer job again We now expect the item being moved to our sendto connection.

Wat we see is this error in the ULS

03/30/2021 11:28:42.73    OWSTIMER.EXE (0x0A48)                       0x6F8C         Document Management Server           Content Organizer              bcoey  Medium        File /sites/retentiontest/Test/Rapportage.csv is not moved because it's a record and deleteblocked.         394ab99f-8d20-e0c8-1a6a-82c62c1a90ec
03/30/2021 11:28:42.73    OWSTIMER.EXE (0x0A48)                       0x6F8C         Document Management Server           Information Policy Management     xorh   High             Failed to submit file Test/Rapportage.csv:  Moving file /sites/retentiontest/Test/Rapportage.csv is blocked because it's a record and deleteblocked.   394ab99f-8d20-e0c8-1a6a-82c62c1a90ec
03/30/2021 11:28:42.73    OWSTIMER.EXE (0x0A48)                       0x6F8C         Document Management Server           Information Policy Management     aar0   Medium           SiteSubscriptionId=00000000-0000-0000-0000-000000000000; SiteId=6f6681e0-23aa-4f21-a49c-86d753f6bfab; WebId=1001e1ea-08e5-4496-8ada-a0a93f383ff2; ContentDB=Content_O: Processing retention post actions for item /sites/retentiontest/Test/Rapportage.csv:UndoCheckOutBeforeUpdate, KeepCheckedOutToSystem         394ab99f-8d20-e0c8-1a6a-82c62c1a90ec

And also this

03/30/2021 11:28:43.10  OWSTIMER.EXE (0x0A48)                       0x6F8C  SharePoint Foundation           Dev Events                      ajbpn   Verbose     Set EventFiringDisabled to [False].  Stack trace: [   at Microsoft.Office.Server.Utilities.EventReceiverUtility.DisabledEventFiringScope.Dispose()     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.<>c__DisplayClass1a.<ProcessExpiredItems>b__18(SPListItem item)     at Microsoft.Office.Server.Utilities.MonitoredScopeWrapper.RunWithMonitoredScope(Action code)     at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItem(SPListItem item, Boolean fIncludeFolderItems, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout)     at Microsoft.Office.Server.Utilities.ContentIterator.ProcessItems(SPListItemCollection items, Boolean fIncludeFolderItems, Boolean fIterateInReverseOrder, MonitoredScopeWrapper monitoredScopeWrapper, ItemProcessor itemProcessor, ItemProcessorErrorCallout errorCallout)     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.ProcessExpiredItems(ContentIterator ci, SPListItemCollection items, SPList list, Boolean fIncludeFolderItems, Boolean bIsPreservationList, Boolean bHoldsEnabledList, Boolean bIsListPolicyFeatureEnabled, Boolean bUsesListPolicy, String webServerRelativeUrl, ListPolicySettings listPolicy, PolicyResourceCollection resourceList, Dictionary`2 ctPolicies, Dictionary`2 OfficialFileHosts, Dictionary`2 actionCache, Boolean bWebUsesQBE, UInt32 uMaxLoggedExceptions, UInt32 uLoggedExceptions, Int32 pmh, SPExecutionTimeCounter executionTimeCounter)     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.<>c__DisplayClass16.<ProcessListItems>b__14(SPListItemCollection items)     at Microsoft.Office.Server.Utilities.ContentIterator.ProcessListItems(SPList list, SPQuery query, ItemsProcessor itemsProcessor, ItemsProcessorErrorCallout errorCallout)     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.ProcessListItems(ContentIterator ci, SPWeb web, PolicyResourceCollection resourceList, Dictionary`2 OfficialFileHosts, Int32 pmh, SPExecutionTimeCounter executi...  394ab99f-8d20-e0c8-1a6a-82c62c1a90ec
03/30/2021 11:28:43.10* OWSTIMER.EXE (0x0A48)                       0x6F8C  SharePoint Foundation           Dev Events                      ajbpn   Verbose     ...onTimeCounter, SPList list, String webServerRelativeUrl, Boolean bWebUsesQBE, Boolean usesListPolicy, ListPolicySettings listPolicy, Dictionary`2 ctPolicies, Boolean bIsPreservationList, Boolean isListPolicyFeatureEnabled)     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.ProcessList(SPSite site, ContentIterator ci, SPWeb web, Hashtable globalPolicies, PolicyResourceCollection resourceList, Dictionary`2 OfficialFileHosts, Int32 pmh, SPExecutionTimeCounter executionTimeCounter, SPList list, String webServerRelativeUrl, Boolean bWebUsesQBE, SPPolicyRule unifiedRetentionRule)     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.<>c__DisplayClass10.<ProcessWebWithAllowUnsafeUpdates>b__e(SPList list)     at Microsoft.Office.Server.Utilities.ContentIterator.ProcessLists(SPListCollection lists, ListProcessor listProcessor, ListProcessorErrorCallout errorCallout)     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.<>c__DisplayClassc.<ProcessWeb>b__b()     at Microsoft.Office.Server.Utilities.Security.SecurityUtilities.RunWithAllowUnsafeUpdates(SPWeb web, Action secureCode)     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.ProcessWeb(SPSite site, ContentIterator ci, SPWeb web, SPList projectPolicyItemList, HoldSettings holdSettings, Hashtable globalPolicies, PolicyResourceCollection resourceList, Dictionary`2 OfficialFileHosts, Int32 pmh, SPExecutionTimeCounter executionTimeCounter, SPPolicyRule unifiedRetentionRule)     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.<>c__DisplayClass9.<Run>b__7(SPWeb web)     at Microsoft.Office.Server.Utilities.CultureUtility.RunWithCultureScope(CodeToRunWithCultureScope code)     at Microsoft.Office.Server.Utilities.ContentIterator.ProcessSite(SPSite site, Boolean fSetThreadCulture, WebProcessor webProcessor, WebProcessorErrorCallout errorCallout)     at Microsoft.Office.RecordsManagement.PolicyFeatures.ExpirationTask.Run(SPSite site, ContentIterator ci)     at Microsoft.Office.Reco...   394ab99f-8d20-e0c8-1a6a-82c62c1a90ec
03/30/2021 11:28:43.10* OWSTIMER.EXE (0x0A48)                       0x6F8C  SharePoint Foundation           Dev Events                      ajbpn   Verbose     ...rdsManagement.PolicyFeatures.ExpirationTask.RunInUnlockMode(SPSite site, ContentIterator ci)     at Microsoft.Office.Server.Utilities.TimerJobUtility.ProcessSite(SPSite site, SiteProcessor siteProcessor)     at Microsoft.Office.RecordsManagement.Internal.ExpirationJobDefinition.ProcessSite(SPSite siteToProcess, SPJobState jobState)     at Microsoft.SharePoint.Administration.SPAllSitesJobDefinition.Execute(SPContentDatabase contentDatabase, SPJobState jobState)     at Microsoft.Office.RecordsManagement.Internal.ExpirationJobDefinition.Execute(SPContentDatabase contentDatabase, SPJobState jobState)     at Microsoft.SharePoint.Administration.SPContentDatabaseJobDefinition.Execute(SPJobState jobState)     at Microsoft.SharePoint.Administration.SPTimerJobInvokeInternal.Invoke(SPJobDefinition jd, Guid targetInstanceId, Boolean isTimerService, Int32& result)     at Microsoft.SharePoint.Administration.SPTimerJobInvoke.Invoke(TimerJobExecuteData& data, Int32& result)  ]  394ab99f-8d20-e0c8-1a6a-82c62c1a90ec

When we do the same in our SharePoint 2013 farm the second run of the “expiration policy SharePoint timer job” moves the document to our sendto connection

When I alter the information policy and send the record to the recycle bin instead of the send to connection it will work.

Test update on SharePoint 2016

We did some testing on SharePoint 2016 and there this functionality also still works. So it looks like a major or breaking change in SharePoint 2019 is causing this behavior. So it works on 2013 and 2016 but not on 2019

Update

We created a support ticket with Microsoft. They can reproduce the behaviour and are currently looking into this

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.