Error: "This functionality is removed: 'Inventory Clean Up'" when enabling and running the Inventory Clean Up task
search cancel

Error: "This functionality is removed: 'Inventory Clean Up'" when enabling and running the Inventory Clean Up task

book

Article ID: 273068

calendar_today

Updated On:

Products

IT Management Suite Asset Management Solution

Issue/Introduction

Since upgrading our SMP Server to the 8.7 version, the "Inventory Clean Up" task (found in the SMP Console under Manage>Jobs and Tasks>System Jobs and Tasks>Service and Asset Management>CMDB)) the task seems to not be running successfully as seen here:

This functionality is removed: 'Inventory Clean Up'

The NS logs show the following errors:

This functionality is removed: 'Inventory Clean Up' (a8acd0fc-3ecb-4ae0-b1d5-0a2c560fd8fb)

Message logged from:
   at Altiris.Diagnostics.Logging.EventLog.ReportException(int, string, string, Exception, string)
   at Altiris.AssetContractCommon.Settings.InventoryCleanUp.ExecuteInventoryCleanUp(IList<Guid>, IList<Guid>, IList<Guid>)
   at System.RuntimeMethodHandle.InvokeMethod(object, object[], Signature, bool)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(object, object[], object[])
   at System.Reflection.RuntimeMethodInfo.Invoke(object, BindingFlags, Binder, object[], CultureInfo)
   at Altiris.AssetContractCommon.Operation.ScheduleHandler.Execute(ParameterValueCollection, ParameterValueCollection)
   at Altiris.AssetContractCommon.Operation.OperationTask.OnExecute(IServerTaskExecutionInstance)
   at Altiris.TaskManagement.ServerTasks.BaseServerTask.OnExecute(ITaskExecutionEngine, IServerTaskExecutionInstance, TaskInstanceRequest)
   at Altiris.TaskManagement.ServerTasks.BaseServerTask.Execute(ITaskExecutionEngine, IBaseTaskExecutionInstance, TaskInstanceRequest)
   at Altiris.TaskManagement.Common.Execution.Engine.TaskEngineExecutionThread.ExecuteTaskHandler()
   at Altiris.TaskManagement.ServerTasks.ServerTaskExecutionThread.ExecuteTaskHandler()
   at Altiris.TaskManagement.Common.Execution.Engine.TaskEngineExecutionThread.Execute()
   at Altiris.TaskManagement.Common.Execution.Engine.TaskExecutionEngine.ProcessTaskExecuteOperation(TaskInstanceRequest, TaskEngineExecutionThread)
   at Altiris.TaskManagement.ServerTasks.ServerTaskManager.ProcessTaskExecuteOperation(TaskInstanceRequest, TaskEngineExecutionThread)
   at Altiris.TaskManagement.Common.Execution.Engine.TaskExecutionEngine.ProcessTaskExecuteOperation(object)
   at Altiris.DotNetLib.Threading.AtrsThreadPoolEx.ProcessWorkToDo(Thread, AtrsThreadPoolWorkItemEx)
   at Altiris.DotNetLib.Threading.AtrsThreadPoolEx.ProcessWorkToDo()
   at Altiris.DotNetLib.Threading.AtrsThreadPoolEx.WorkerThreadRun()
   at Altiris.DotNetLib.Threading.AtrsThreadPoolEx.WorkerThreadProc()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext, ContextCallback, object, bool)
   at System.Threading.ExecutionContext.Run(ExecutionContext, ContextCallback, object, bool)
   at System.Threading.ExecutionContext.Run(ExecutionContext, ContextCallback, object)
   at System.Threading.ThreadHelper.ThreadStart()

-----------------------------------------------------------------------------------------------------
Date: 9/6/2023 8:59:50 AM, Tick Count: 269938031 (3.02:58:58.0310000), Size: 2.69 KB
Process: AtrsHost (7508), Thread ID: 198, Module: Altiris.AssetContractCommon.dll
Priority: 1, Source: InventoryCleanUp.ExecuteInventoryCleanUp

Environment

ITMS 8.7

Cause

The Inventory Clean Up task was found to have some problems and was disabled and intended to be removed from the SMP Console for the following reasons:

  1. The intermediate tables were found to never be purged, which brought 1.2+ billion rows (over 130GB of data) for some customers.
  2. The task itself wass not stable - it was designed to allow purging by "excludes", which might have not been up to date and it was found that in some cases it was purging computers, that were not intended to be purged.
  3. The purge process itself removes data, populated by any solution, not just the Asset Solution. This is not something that needed to be done it it was found that with the Inventory Clean Up task and there was no control over it.

So, why is The Inventory Clean Up task showing up in the SMP Console UI?:

  • This was an oversight by the Broadcom/Symantec Dev team and is still seen in later versions of ITMS 8.7 RU2 & RU3 as well as ITMS 8.8
  • This task was using a purging schedule by .NET reflection and not executing an API directly. 

Resolution

The error message seen in the logs "This functionality is removed: 'Inventory Clean Up'" should not be viewed as something going wrong.  By default, in later versions of ITMS the Inventory Clean Up task is disabled by default and it should NOT be turned on or the error seen in the log will be displayed.  It's functionality has been turned off in the code.

Suggestions:

  • Check and verify that the Inventory Clean Up task is disabled in the SMP Console. By default it is OFF and it should not be turned on.
  • It is recommeneded that you use the Purging Maintenance page, found in the SMP Console under Settings>Notification Server>Purging Maintenance - which can be configured for purging unneeded information and can entirely delete a computer and its inventory data.

We have made some changes to our documentation:

Additional Information