Getting log message: This functionality is removed: 'Inventory Clean Up'
search cancel

Getting log message: This functionality is removed: 'Inventory Clean Up'

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" (under SMP Console Manage>Jobs and Tasks>System Jobs and Tasks>Service and Asset Management>CMDB)) the task seems to be that has not been running successfully.

The NS logs show "This functionality is removed:  Inventory Cleanup".

 

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

Why we remove it (Inventory Clean Up)?:

 1. The intermediate tables were not purged ever, which brought 1.2+ billion rows (over 130GB) for some customers.

 2. The task itself is not stable - it was designed to allow purging by "excludes", which might have not been up to date. Hence, purging computers, that are not intended to be purged.

 3. Purge process itself removed data, populated by any solution, not Asset only. This is not something, we have to do at all - and there was no control over it.

 

And, why the task itself was left in the UI?:

This was solely an oversight by our Dev team. This task was using a purging schedule by .NET reflection, not executing API directly. 

Resolution

This message itself is not a reflection of something going wrong.

What advice we can make to a customer?:

  • Turn it OFF ("Inventory Clean-Up" task). By default, it is OFF. 
  • Also, we have a "Purging Maintenance" page (under Settings>Notification Server>Purging Maintenance) - which has control over purging, and can entirely delete a computer and its inventory data.

 

We have made some changes to our documentation:

The latest documentation on Inventory license was updated @ About Licensing Inventory Solution

We've also updated the KB which was referencing and suggesting to run this task: Altiris Licensing - Technical FAQ

and added/modified the part for License Reclaiming.

Additional Information

How to use the CMDB task "Inventory Clean Up"  (KB 181680)