private void doRun()

in src/main/java/org/apache/sling/jcr/maintenance/internal/VersionCleanup.java [174:198]


    private void doRun() {
        log.info("Running version cleanup");
        lastCleanedVersions = 0;
        try {
            try (final ResourceResolver adminResolver = factory.getServiceResourceResolver(
                    Collections.singletonMap(ResourceResolverFactory.SUBSERVICE, "sling-versionmgr"))) {
                final Resource versionRoot = adminResolver.getResource("/jcr:system/jcr:versionStorage");
                final Session session = Optional.ofNullable(versionRoot.getResourceResolver().adaptTo(Session.class))
                        .orElseThrow(() -> new RepositoryException("Failed to get session"));
                for (final Resource folder : versionRoot.getChildren()) {
                    log.info("Traversing and cleaning: {}", folder.getPath());
                    if (findVersions(session, folder)) {
                        break;
                    }
                }
                lastFailureMessage = null;
            }
        } catch (final LoginException le) {
            log.error("Failed to run version cleanup, cannot get service user", le);
            lastFailureMessage = "Failed to run version cleanup, cannot get service user";
        } catch (final RepositoryException re) {
            log.error("Failed to run version cleanup", re);
            lastFailureMessage = "Failed to run version cleanup";
        }
    }