in src/main/java/org/apache/sling/servlets/post/impl/helper/ChunkCleanUpTask.java [117:158]
private void cleanup() {
long start = System.currentTimeMillis();
int numCleaned = 0;
int numLive = 0;
ResourceResolver admin = null;
try {
admin = rrFactory.getAdministrativeResourceResolver(null);
final Iterator<Resource> rsrcIter = admin.findResources("SELECT * FROM [sling:chunks] ", "sql");
while (rsrcIter.hasNext()) {
final Resource rsrc = rsrcIter.next();
if (isEligibleForCleanUp(rsrc)) {
numCleaned++;
uploadhandler.deleteChunks(rsrc);
} else {
numLive++;
}
}
if (admin.hasChanges()) {
try {
admin.refresh();
admin.commit();
} catch (PersistenceException re) {
log.info("ChunkCleanUpTask: Failed persisting chunk removal. Retrying later");
}
}
} catch (Throwable t) {
log.error("ChunkCleanUpTask: General failure while trying to cleanup chunks", t);
} finally {
if (admin != null) {
admin.close();
}
}
long end = System.currentTimeMillis();
log.info(
"ChunkCleanUpTask finished: Removed {} chunk upload(s) in {}ms ({} chunk upload(s) still active)",
new Object[] {numCleaned, (end - start), numLive});
}