Filter targets have too broad of scope (All Resources)

book

Article ID: 158356

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server)

Issue/Introduction

Target's scope is set to the broadest "All Resources".  A computer collection should have computer as it's scope.  This can causes triggers to invalidate too many targets and cause high memory usage and slow collection/target membership updates.

Cause

"All Resource" scope used rather than computers for computer filters.  This can also happen to other types of resources, but the one most often experienced appear to be computer resources.

Use this SQL to see the filter names: 

    select i2.Name as 'Collection', i.Name as 'Target', i3.Name as 'Scope', case when i2.Attributes &1 = 1 then 'Hidden' else 'Visible' end as 'Visibility'
    from ResourceTarget rt
    join ItemReference ir on ir.ParentItemGuid = rt.Guid
    and ir.Hint = 'resourcetargetfilter'
    join Item i on i.Guid = rt.Guid
    join Item i2 on i2.Guid = ir.ChildItemGuid
    join Item i3 on i3.Guid = rt.ScopeCollectionGuid
    where ScopeCollectionGuid = 'CAFC430C-6705-4A21-8E39-7AA0DA861A87'
    order by 4 desc, 1

Resolution

This will be resolved in 7.5 until that is released do the following:

  • Run the attached trgScopeUpdateTargetInvalidate.sql to do a needed update on an SQL Trigger on the ScopeMembership table
  • Run the attached  TargetScopeChange.sql to set the scope of existing targets to Computer instead of the problematic All Resources.
    Note: It is suggested that the TargetScopeChange.sql be run on a recurring basis, using a Task Server Job, SQL Job etc. on a weekly or monthly basis. 
  • Moving forward ensure that when filters are created, Computer is selected and continue to run the script in the step above to resolve targets that are created through the Quick Apply.

Applies To

SMP 7.1 +

Attachments

trgScopeUpdateTargetInvalidate.sql get_app
TargetScopeChange.sql get_app