Unable to load saved searches after upgrade to ITMS 8.6. This join source does not have a dataField 'issecuritycloudmanaged'
search cancel

Unable to load saved searches after upgrade to ITMS 8.6. This join source does not have a dataField 'issecuritycloudmanaged'

book

Article ID: 210300

calendar_today

Updated On:

Products

IT Management Suite

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 as filters under "Favorites" get the same issue.

The following error is displayed:

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

The NS logs show messages like these:

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 (except for a reference in StringRef under column StrRef)

Note:
You may see also the same error regarding the "Security Cloud Ownership" dataField.

Environment

ITMS 8.6
(Upgrade from 8.5 RU4)

Cause

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

These items are 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 the 8.6 Release.

 

Resolution

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

A workaround when running ITMS 8.6 and/or 8.6 RU1 (in case you upgraded straight to 8.6 RU1) 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.

 

Note:
If the proposed workaround doesn't work, please reach out to Support so they can apply the steps in the Internal Notes for this article.