Incompatible Filters Error after migrating to a new Notification Server instance.
search cancel

Incompatible Filters Error after migrating to a new Notification Server instance.

book

Article ID: 241425

calendar_today

Updated On:

Products

Client Management Suite IT Management Suite

Issue/Introduction

After migrating existing filters from the previous Symantec Management Platform (SMP) to the new SMP, this group of custom filters no longer worked as designed and would throw errors when attempting to use or edit them.

In the Altiris Log Viewer, we see this error:

Failed to perform a collection membership update on the collection '<FILTER NAME>' (<GUID OF FILTER>). An unhandled exception has occurred.

(Full) Membership Update failed.
   [Altiris.NS.Exceptions.AeXException @ Altiris.NS.StandardItems]
   at Altiris.NS.StandardItems.Collection.NSDataSrcBasedResourceCollection.UpdateMembershipCore(ICollectionUpdateMessage updateMessage)
   at Altiris.NS.ContextManagement.AdminDatabaseContext.<>c__DisplayClass31_0`1.<PerformWithDeadlockRetry>b__0(IDatabaseContext ctx)
   at Altiris.Database.DatabaseContext`1.RetryActionRequest.Perform(Boolean throwIfRetriedOut)
   at Altiris.Database.DatabaseContext`1.PerformWithDeadlockRetryHelper(Int32 retries, Int32 retryDelay, Boolean outerTransaction, Getter`1 getContext, Action`1 action, Action`1 retry, Boolean selfTransaction, String deadlockMessage, String category)
   at Altiris.NS.StandardItems.Collection.NSResourceCollectionBase.UpdateMembershipImpl(ICollectionUpdateMessage updateMessage)

Failed to resolve resource query from the xml configuration.
   [Altiris.DataSource.Exceptions.DataSourceQueryResolveException @ Altiris.Reporting.DataSource]
   at Altiris.Reporting.DataSource.ResourceDataSource.ValidateXmlQuery()
   at Altiris.Reporting.DataSource.ResourceDataSource.get_SourceResourceQuery()
   at Altiris.Reporting.DataSource.ResourceDataSource.get_Parameters()
   at Altiris.Reporting.DataSource.DataSource.get_CanRun()
   at Altiris.Reporting.DataSource.ResourceDataSource.get_CanRun()
   at Altiris.NS.StandardItems.Collection.NSDataSrcBasedResourceCollection.FullUpdateMembership()
   at Altiris.NS.StandardItems.Collection.NSDataSrcBasedResourceCollection.UpdateMembershipCore(ICollectionUpdateMessage updateMessage)

This join source does not have a dataField 'Guid'
   [Altiris.NS.Exceptions.AeXException @ Altiris.Reporting.DataSource]
   at Altiris.Reporting.DataSource.ResourceDS.RModel.RMoArbitraryJoin.GetSourceDataField(String sourceDataFieldName)
   at Altiris.Reporting.DataSource.ResourceDS.RModel.RMoArbitraryJoin.FromXml(XmlNode xml)
   at Altiris.Reporting.DataSource.ResourceDS.RModel.RMoResourceTypeItem.ParseJoins(XmlNode xmlResourceType)
   at Altiris.Reporting.DataSource.ResourceDS.RModel.RMoResourceTypeItem.FromXml(XmlNode xmlResourceType)
   at Altiris.Reporting.DataSource.ResourceDS.RModel.ResourceQuery.FromXml(XmlNode xml)
   at Altiris.Reporting.DataSource.ResourceDataSource.ValidateXmlQuery()

Environment

ITMS 8.6

Cause

These filters utilized a SQL View that exists only if Asset Management Solution is installed. 

 

Resolution

In this case, the solution was to rebuild the filters by removing the filters first from the targets they belonged to, rebuilding a new filter, and then adding it back to the target. This procedure was done to avoid having to rebuild schedules in all the Jobs and Tasks where the filters were utilized.