Softdelete fails to purge objects in database related to patch bundle dependencies - zZENObjectDelete_log Size increases

  • 7018516
  • 24-Jan-2017
  • 05-Jan-2018

Environment

Novell ZENworks Configuration Management 11.4.2

Situation

Softdelete fails to purge objects in ZENworks database.  

zZENObjectDelete_log Size increases.  

select * from zZENObjectDelete table shows error:

ERROR:

error zAssignableContentObject          0 2016-12-28 17:49:35.619778 (NULL) Primary key for row in table 'zAssignableContentObject' is referenced by foreign key 'fk_zLinkedObject_DependencyUID' in table 'zLinkedObject'




Resolution

This is fixed in version ZENworks Configuration Management 2017 Update 1 - see KB 7020155 "ZENworks Configuration Management 2017 Update 1 - update information and list of fixes" which can be found at https://support.microfocus.com/kb/doc.php?id=7020155


--------------------------------------------------------------------
For 11.4.2 and 11.4.3: Contact ZENworks Technical Support Micro Focus Customer Care for an official Field Test File to prevent future occurrences of the problem.

Contact ZENworks Technical Support Micro Focus Customer Care for workaround or script fix for the excessive table growth of zZenObjectDelete table.

Note:  After update or FTF is applied, no new occurrences of the issue will be seen.  However, existing pending objects are not cleaned up.  

Use the sql query in Additional information to determine bundles with references to deleted bundles.  For patch policy bundles, rebuild the patch policy and delete older versions having the bad dependency.  For deployment bundles, either remove actions pointing to deleted bundle or delete and recreate the deployment altogether.

As a workaround for versions not having FTF, disable Patch Content Cleanup by unchecking "Enable clean up of content for disabled patches".

Additional Information

--What policies/bundles have a deleted patch in the relationship

 SELECT *

FROM zzenobject

WHERE zuid IN (

SELECT containingobjectuid

FROM zLinkedObject

WHERE dependencyuid IN (

SELECT zuid

FROM zzenobject

WHERE tobedeleted = 1))

 

and what objects can't be cleaned up

 

--object is in the soft_delete que

select * from zZENObject where TobeDeleted=1