howto - server/client - Level: expert
There are a couple of automatic deletion processes, implemented as server modules.
Overview about the three steps censhare Asset-Deletion jobs
Mark Asset Version for Deletion (automatic) = mark-deletion
Delete Assets (automatic) = do-deletion
HowTo check the do-deletion
Delete Files (automatic) = storage-deletion
HowTo check the storage-deletion
Top 13 - Why an asset will not be deleted
1.) There are new (customized) asset types created and not added in the asset versions at Admin-Clients master data or they are disabled. The correct way would be to have an active policy for all asset (sub) types - if an asset (sub) type is not intended to be deleted then choose keep all versions in the policy, but keep the policy enabled. If disabled it will lead to constraint errors.
2.) Asset has a hierarchical asset type for example like picture.logo. A policy for each hierarchical asset type within Master Data | Assetversionmanagement is needed. The correct way would be to have an active policy for all asset (sub) types - if an asset (sub) type is not intended to be deleted then choose keep all versions in the policy, but keep the policy enabled. If disabled it will lead to constraint errors.
3.) Placementrelation to a other asset
Show/Show Parentrelation/Direct Relations
4.) One assetversion is not marked for deletion
Check the assetversions if all versions have a dustbin.
5.) There exist assets with more than 500 versions?
Ensure that the limit setting with the xml of mark-deletion and do-deletion is higher than the highest version count of an asset. An example:
SQL> SELECT id, count(version) FROM asset GROUP BY id HAVING count(version) > 500 ORDER BY 2 ASC; ID COUNT(VERSION) ---------- -------------- 11754 2130 11755 2632
6.) The asset limit, for each deletion run is to low. Increase the limit in the command xml.
7.) Time has not expired according Assetversionsmanagement do-deletion listen to keep_mark_sec = delete asset physically after xxx hours. see "description of the do-deletion process 3.1.5 "
8.) Assets have beside the version also a content version. The version raised on every checkout/checkin, also on edit metadata. The content version do not raised on edit metadata. An asset version can only be deleted if this version is no longer used, eg placed in another assets, or the respective asset versions themselves may also be deleted. "Used" is an asset version in some ways also if another asset OR ANOTHER VERSION OF THE SAME ASSETS points to the content version of the asset version. The mark-deletion add the dustbin on the asset, but the do-deletion checks the content-version and don't delete this.
In this way, our system is overly cautious here.
1 1 not marked for deletion
2 1 marked for deletion
3 1 marked for deletion
In this case, could be deleted versions 2 and 3.
To cover the following case does not happen at the moment:
1 1 marked for deletion
2 1 not marked for deletion <-- needs also content version 1!
3 1 marked for deletion
9.) Placementrelation to a other asset in an older version. (SQL is only working with an oracle DB)
SELECT r.parent_asset, r.parent_version, r.child_version FROM asset_rel r, asset a WHERE a.id = r.parent_asset AND a.version = r.parent_version AND r.key = 'actual.' AND r.child_asset = <asset-id>;
10.) Versiondeletion and deletion after marking fail on "Keep for x hours before deletion"
Without entry into asset_del_policy is an asset not marked for deletion (markDeletion) and not deleted (doDeletion) - the latter, since it is checked on "keep_marked_sec"
11.) The asset got the snapshot flag set
12.) Check the server logfile for asset_fk16 errors
The asset_fk16 error could have different reasons:
One version that can't be deleted inside one transaction.
Example - There is one asset with 1000 versions which needs to be deleted. The deletion jobs (Mark deletion and Do deletion) run always within loops. Well, now imagine the first 500 versions will catched in loop 1 and the second 500 in loop 2. Due to the fact that the command can't complete the asset versions in one loop it will run into the error asset_fk16.
• increase the limit of the deletion jobs
• delete the entire asset manually (delete physically)
Asset type switched in the asset versions and there is no deletion rule the asset type
• Check deletetion rules in the Admin-Client for this asset types. Every asset type needs its own rule in Asset Deletion 1.
13.) The storage-deletion.file deletion makes no loops. Here is the max value in the xml the absolute limit.
E.g. in storage-deletion queue are 10.000 assets that can not be deleted and it's set to 10.000, no more files can be deleted.