Failed to process action: information for id has not been cached

  • 7009993
  • 12-Jan-2012
  • 02-Nov-2017

Environment

Novell ZENworks 11 Configuration Management Support Pack 1 - ZCM 11 SP1 Patch Management
Novell ZENworks Configuration Management 11.2 Patch Management
Novell ZENworks Patch Management 11.2

Situation

Patch Management bundle fails to install

The following error can be seen as a device or bundle message in ZCC:

ERROR: Failed to process action: information for id <GUID> has not been cached

The same message can be found in the agent side logs (see Additional Information below).

Resolution

Workaround:
  1. Make note of the name of the patch that is causing the issue.  A sql query can be used to determine the patch name if that is unknown.  See Additional Information below.
  2. Set the patch subscription download time to after midnight in ZCC > Configuration > Patch Management > Subscription Service Information > Subscription Communication Interval
  3. Delete the noted patch from ZCC > Patch Management > Patches (NOTE: If the patch doesn't delete, it is likely due to remediation bundles that are dependent on this patch. Delete those bundles and retry.)
  4. Wait at least a day (so that the patch will have been re-downloaded)
  5. Try to deploy the patch again
Note: When the content is re-added before the Content Cleanup can de-reference the database location, the content will not update.
The system content.cleanup process needs to run to clean up the content location referenced by the bundle objects that are leftover from deleting the objects.
Note: The Subscription Update default schedule is also at midnight. Novell's recommendation is to set the default schedule at 2am.
To view the cleanup schedule (default it's midnight) run zman ql -t=content.cleanup

Cause

ZCM patch content is Aliased Content so other bundles can use the same content without filling up hard drive space.  Deleting a bundle and waiting for the content clean process to happen, then running the Subscription update, is the proper order for taking care of corrupted content
 

Status

Reported to Engineering

Additional Information

 
Full information from zmd-messages.log:

[DEBUG] [01/10/2012 10:36:11.403] [1604] [ZenworksWindowsService] [44] [] [Bundle Manager] [] [filterItemContent - bundle <BUNDLE-GUID> - No content info found for content id <CONTENT-GUID>] [] [] 
 [DEBUG] [01/10/2012 10:36:11.417] [1604] [ZenworksWindowsService] [44] [] [DistributionHandler] [] [GetDistributableContent for item <GUID> returned <CONTENT-GUID>] [] [] 
 [DEBUG] [01/10/2012 10:36:11.460] [1604] [ZenworksWindowsService] [44] [] [ContentManager] [] [content id <CONTENT-GUID> shouldIgnoreThrottle = False] [] [] 
 [DEBUG] [01/10/2012 10:36:11.461] [1604] [ZenworksWindowsService] [44] [] [ContentManager] [] [(Thread=44) Cannot retrieve content for package <CONTENT-GUID> - no meta data] [] [] 
 [DEBUG] [01/10/2012 10:36:11.462] [1604] [ZenworksWindowsService] [44] [] [ContentManager] [] [ContentManager: DistributeMultipleContent received exception during DistributeContent. Information for id <CONTENT-GUID> has not been cached.] [] [] 
 [DEBUG] [01/10/2012 10:36:11.531] [1604] [ZenworksWindowsService] [44] [] [DistributionHandler] [] [(Thread=44) Failed to distribute item: Unexpected exception: Information for id <CONTENT-GUID> has not been cached.
   at Novell.Zenworks.Content.ContentManager.DistributeContent(String contentId, Progress progress, DistributionFlags distributionFlags, Int64 throttlePriority, Boolean batchMode)
   at Novell.Zenworks.Content.ContentManager.Novell.Zenworks.Content.IContentManager.DistributeMultipleContent(ZenObjectId() contentIds, Progress progress, DistributionFlags distributionFlags, Int64 throttlePriority)
   at Novell.Zenworks.ActionManager.DistributionActionHandler.ProcessAction(ActionContext context, ClientAction action, ActionProgress progress)] [] [] 
 [DEBUG] [01/10/2012 10:36:11.532] [1604] [ZenworksWindowsService] [44] [] [ActionManager] [] [Action handler Distribute Action finished processing Distribution Action with error: ActionMan.FailureProcessingActionException.] [] []
 
SQL Query to get the patch name:
 
select path
from zzenobject
where zuid in
  (select distinct containingobjectuid
   from zlinkedobject
   where contentuid in
     (select distinct zuid
      from zcontent
      where metaversion = 0
      and aliasedcontentuid is null
      and encryptionkey is null));


Since the patch bundles containing the patches above need to be deleted also, prior to 11.3 the following query can help identify them.  (In 11.3 and later deleting a patch will automatically delete the parent bundles)

select * from zZENObject where ZUID in (select ContainingObjectUID from
zLinkedObject where DependencyUID in (select zuid
from zzenobject
where zuid in
  (select distinct containingobjectuid
   from zlinkedobject
   where contentuid in
     (select distinct zuid
      from zcontent
      where metaversion = 0
      and aliasedcontentuid is null
      and encryptionkey is null)) and PrimaryType ='Bundle' and SubType = 'Patch Bundle'))