private void cleanup()

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});
    }