Monday, June 3, 2013

How to really delete assets from DAM?

In CQ DAM, files larger than a configurable size (4 KB by default) are kept in a separate “DataStore”.  This DataStore can be located on a separate disk or disk array for performance reasons.

When digital assets are deleted from CQ DAM, they are only “marked” for deletion.  The real cleanup of the DataStore happens during a process called “DataStore Garbage Collection” (DS-GC).  This can be triggered from the Apache Felix OSGi Console (JMX tab) - click on the “Repository” MBean.

How long the DataStore Garbage Collection takes depends on the size of your CQ DAM repository. A property called  ’DataStoreGarbageCollectionDelay’ controls how long (in milliseconds) this process pauses after processing 10 JCR nodes.  By default, this is 10 milliseconds.

For example, if your JCR has 25 million nodes (the result of about 250,000 assets), the scan will take (25 million nodes/10 nodes) x 10 milliseconds = about 7 hours.  The scan happens twice during a single DS-GC run - so the delay would be about 14 hours.

Testing by Adobe’s Server Performance Lab shows that the duration of this garbage collection can be significantly reduced by changing the value for ‘DataStoreGarbageCollectionDelay’ from the default “10” milliseconds to a lower number.  On one lab machine, setting this to 0 caused the duration of DS-GC to go from about 2 hours down to 7 minutes.  Of course, on a busy PRODUCTION system, 0 is a bad idea.

To change the value, just click on the 10.


No comments:

Post a Comment