The SMP logs are filled with warnings and errors similar to the following (excerpts)
Duplicate resources merge succeeded, resource(to): 'Timer.exe' (53b1379d-0d39-4074-bc36-6eaeb0029dd9), duplicate(from): 7cc254e9-2d03-4a22-a805-3bc8d8f94498, type: 018b191b-47ae-4180-9fcd-7f3cea4f1e12
Description: Hierarchy resource synchronization(merge) event[4ca7251b-eade-492e-b3e5-a122111e7c01] was queued for replicaiton in DOWN direction. ResourceTo:[ec7f5645-5870-44bd-983f-34d60cdc76fa]
Desciption: Operation not in progress. jobId:{a0a213c9-f27e-4002-bb0f-34129a1b9b6e}, operationId:{c31e88de-4366-4fd7-bcd3-0cf9f69c97a4}, stage:Wait, type:Export, itemType:Item, status:Completed
Description: Operation was blocked by merge activity for: 15718.9094 ms.
at Altiris.NS.ResourceManagement.ResourceAssociationImporter.MapMerges(IEnumerable`1 operations, Int32 count)
at Altiris.NS.ResourceManagement.ResourceAssociationImporter.LoadResourceAssociationsImpl(ResourceAssociationDataCollection resourceAssociationDataCollection)
at Altiris.Database.DatabaseContext`1.RetryAction(Int32 retries, Boolean transacted, Getter`1 getContext, Action`1 action, Action`1 retry, DeadlockRetryArgs& re, Exception& exception, Boolean inTransaction)
at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Boolean inTransaction, Getter`1 getContext, Action`1 action, Action`1 retry, Boolean transacted)
at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetry(Int32 retries, Boolean startNewTransaction, IsolationLevel isolationLevel, Boolean independentContext, Action`1 action, Action`1 retry)
The resource types being merged are almost all "File" 018b191b-47ae-4180-9fcd-7f3cea4f1e12.
8.1 RU5 and greater
The replication Rule "File Resources for executable files" was modified in the release to replicate ALL discovered file types. This causes each child to replicate every file type they have discovered (via Application Metering and Inventory) to the parent. The parent then begins sending synchronization events out to all child servers which causes them to merge the GUID the parent assigned to the same executable object with the GUID currently assigned to it in their own database. Ownership is also changed.
The mass of synchronization /merge events causes major SQL deadlocking and slowdown.
Not all executable file objects need be replicate up from the child servers. Only the one being monitored by Application Metering.
The severity of the problem is weighted by the number of servers in the Hierarchy. If there is only one parent and one child it may be best to just wait until they are finished.
If there are multiple children-- the best way to get control of the situation is to do the following.
UPDATE ItemActive set Enabled = 0 where Guid = '38A24D5A-5E2C-41FD-AE21-D5360D5B7D59'
UPDATE ReplicationJob set State = 6 where State < 4
The following steps can be used to replicate only desired executables instead of all
SELECT r.Guid
FROM dbo.[RM_ResourceFile] r
join Inv_Windows_File wf on wf._ResourceGuid = r.
Guid
where LOWER(r.Name) IN ('excel.exe', 'sql.exe', 'helloworld.exe')
As new executables need to be replicated add them to the SQL in the filter created in step 1