Unable to load saved searches after upgrade to ITMS 8.6

book

Article ID: 210300

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server)

Issue/Introduction

After upgrading to ITMS 8.6 any user, even the AppID account, is not able to load "All Computers" or "New Computers" for example under Manage>Computers. Only recently added users are able to load these filters and targets. Any of the targets under "Computer Views and Groups", as well filters under "Favorites" get the same issue.

The following error is displayed:

Load Filter
An error has occurred while loading the filter. Check server logs for details.

The NS logs show messages like these ones:

Entry 1:

MainController failure.

Unable to load the specified item: d27e8eea-aa2a-464f-9205-37fc2b8d7ef8
[Altiris.NS.Exceptions.AeXException @ Altiris.NS]
at Altiris.NS.ItemManagement.Item.Load(Guid itemGuid)
at Altiris.NS.ItemManagement.Item.GetItemInternal(Guid itemGuid, IEnumerable`1 accessPermissions, ItemLoadFlags itemLoadFlags, Boolean& cacheHit)
at Altiris.NS.ItemManagement.Item.GetItemInternal(Guid itemGuid, IEnumerable`1 accessPermissions, ItemLoadFlags itemLoadFlags)
at Symantec.ActivityCenter.Api.Models.Filter.SavedSearchProvider.GetDynamicFilterSavedSearch(Guid savedSearchGuid, IEnumerable`1 values)
at Symantec.ActivityCenter.Api.Models.Filter.SavedSearchProvider.GetScopeBasedSavedSearch(Guid parentFolderId)
at Symantec.ActivityCenter.Api.Models.Filter.FilterProvider.GetFilterSavedSearch(Guid id)
at Symantec.ActivityCenter.Api.Models.Filter.FilterProvider.GetFilter(Guid id)
at Symantec.ActivityCenter.Api.Controllers.MainController.GetFilter(Guid id)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c_DisplayClass6_2.<GetExecutor>b_2(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__6.MoveNext()

Exception of type 'Symantec.ActivityCenter.Contracts.Faults.IncompatibleFilterException' was thrown.
[Symantec.ActivityCenter.Contracts.Faults.IncompatibleFilterException @ Symantec.ActivityCenter]
at Symantec.ActivityCenter.SavedSearchItem.OnFromXml(XmlNode itemNode)
at Altiris.NS.ItemManagement.Item.Load(Guid itemGuid)

...

HTTP [GET]http://localhost/altiris/activitycenter/api/filters/91c68fcb-1822-e793-b59c-2684e99a64cd
ip: [127.0.0.1]; languages: [en-US];
timings: [[R] 00:00:00.7560114(W: 00:00:00)];
response: [200 OK]; x-smp-nsversion: [8.6.1119.0];

-----------------------------------------------------------------------------------------------------
Date: 3/8/2021 5:46:51 PM, Tick Count: 133252171 (1.13:00:52.1710000), Size: 7.68 KB
Process: w3wp (10056), Thread ID: 127, Module: w3wp.exe
Priority: 1, Source: Symantec.ActivityCenter.Api.Controllers.ApiControllerExceptionHandlerAttribute.OnException

 

Entry 2:

Unable to load item xml (All Computers)

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 Symantec.ActivityCenter.SavedSearchItem.AddClientElements(ResourceDataSource baseAvailableDataSource)
at Symantec.ActivityCenter.SavedSearchItem.OnFromXml(XmlNode itemNode)

This join source does not have a dataField 'issecuritycloudmanaged'
[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()

Exception logged from:
at Symantec.ActivityCenter.SavedSearchItem.OnFromXml(System.Xml.XmlNode)
at Altiris.NS.ItemManagement.Item.Load(System.Guid)
at Altiris.NS.ItemManagement.Item.GetItemInternal(System.Guid, System.Collections.Generic.IEnumerable<System.Guid>, Altiris.NS.ItemManagement.ItemLoadFlags, Boolean&)
at Altiris.NS.ItemManagement.Item.GetItemInternal(System.Guid, System.Collections.Generic.IEnumerable<System.Guid>, Altiris.NS.ItemManagement.ItemLoadFlags)
at Altiris.NS.UI.RoleSecMgr.RoleSecPermissions.get_Item()
at Altiris.NS.UI.RoleSecMgr.RoleSecPermissions.OnLoad(EventArgs)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean, Boolean)
at System.Web.UI.Page.ProcessRequest(Boolean, Boolean)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(System.Web.HttpContext)
at Altiris.NS.UI.Controls.PageCachePage.ProcessRequest(System.Web.HttpContext)
at Altiris.NS.UI.AltirisPage.ProcessRequest(System.Web.HttpContext)
at System.Web.HttpApplication+CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStepImpl(System.Web.HttpApplication+IExecutionStep)
at System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication+IExecutionStep, Boolean&)
at System.Web.HttpApplication+PipelineStepManager.ResumeSteps(Exception)
at System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, AsyncCallback)
at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)

HTTP [GET]http://localhost/Altiris/NS/RoleSecMgr/RoleSecPermissions.aspx?itemGuid=d27e8eea-aa2a-464f-9205-37fc2b8d7ef8
ip: [127.0.0.1]; languages: [en-US];
timings: [[R] 00:00:00.1284783(W: 00:00:00)];
response: [200 OK]; x-smp-nsversion: [8.6.1119.0];

-----------------------------------------------------------------------------------------------------
Date: 3/8/2021 7:56:38 PM, Tick Count: 141038656 (1.15:10:38.6560000), Size: 4.13 KB
Process: w3wp (10056), Thread ID: 527, Module: Symantec.ActivityCenter.dllPriority: 1, Source: Symantec.ActivityCenter.SavedSearchItem.OnFromXml

 

Entry 2 is referring to "This join source does not have a dataField "issecuritycloudmanaged".  The only reference that we found was under "vAC_SecurityCloud" view. In 8.5 RU4, this view used to have this line "c.IsSUEPManaged as IsSecurityCloudManaged" but that reference doesn't exist anymore in 8.6 (with the exception of a reference in StringRef under column StrRef)

Cause

The "saved-search" item is failing because it have very complicated logic in OnFromXml() method - based on "side items" located under hidden folder on "per-user" basis.

These items being located by calling "GetUserDefaultCriteriaItem()"  - folder is 'Notification Server/Settings/ITMS Management Views Settings/User Default Criteria (1D3AF2AE-B4F3-4B47-81A7-51DA7987399D)

Then, Activity Center (aka ECV or ITMS Management Views)  does a lot of transformations, it can bring up the used resource column 'issecuritycloudmanaged', which is not part of ITMS anymore in 8.6 Release.

 

Environment

ITMS 8.6
(Upgrade from 8.5 RU4)

Resolution

A fix for this issue has been added to our next release: ITMS 8.6 RU1

A workaround for customers with ITMS 8.6 can be applied:

1. Run the following query:

-- find items
declare @guids as table ([Guid] uniqueidentifier)
insert into @guids
select [Guid] from Item ii 
where ii.[Name] like '%DEFAULT_COMPUTER_CRITERIA_ITEM_%'

-- adjust attributes
update ii 
set ii.[Attributes] = 0
from Item ii
join @guids t on t.[Guid] = ii.[Guid]

-- place items for deletion
insert into ItemToDelete
select [Guid], NULL from @guids

2. Run NS.Quarter-Hour scheduled task

3. Try again to load "All Computers" or any of the filters and targets that were failing under Manage>Computers.

Attachments