oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactory.java [80:108]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
        StatisticsProvider statsProvider = new DefaultStatisticsProvider(executor);
        delegate.setStatisticsProvider(statsProvider);
        // Reduce staging purge interval to 60 seconds
        delegate.setStagingPurgeInterval(60);

        try {
            delegate.init(tempHomeDir.getPath());
        } catch (RepositoryException e) {
            throw new IOException(e);
        }
        closer.register(asCloseable(delegate));
        closer.register(new Closeable() {
            @Override
            public void close() throws IOException {
                executor.shutdown();
                try {
                    if (!executor.awaitTermination(30, TimeUnit.SECONDS)) {
                        throw new IOException("Can't shut down the executor");
                    }
                } catch (InterruptedException e) {
                    throw new IOException(e);
                }
            }
        });
        if (ignoreMissingBlobs) {
            return new SafeDataStoreBlobStore(delegate);
        } else {
            return new DataStoreBlobStore(delegate);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3DataStoreFactory.java [77:105]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        final ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
        StatisticsProvider statsProvider = new DefaultStatisticsProvider(executor);
        delegate.setStatisticsProvider(statsProvider);
        // Reduce staging purge interval to 60 seconds
        delegate.setStagingPurgeInterval(60);

        try {
            delegate.init(tempHomeDir.getPath());
        } catch (RepositoryException e) {
            throw new IOException(e);
        }
        closer.register(asCloseable(delegate));
        closer.register(new Closeable() {
            @Override
            public void close() throws IOException {
                executor.shutdown();
                try {
                    if (!executor.awaitTermination(30, TimeUnit.SECONDS)) {
                        throw new IOException("Can't shut down the executor");
                    }
                } catch (InterruptedException e) {
                    throw new IOException(e);
                }
            }
        });
        if (ignoreMissingBlobs) {
            return new SafeDataStoreBlobStore(delegate);
        } else {
            return new DataStoreBlobStore(delegate);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



