public Iterator getIncrementals()

in priam/src/main/java/com/netflix/priam/backupv2/MetaV2Proxy.java [82:116]


    public Iterator<AbstractBackupPath> getIncrementals(DateUtil.DateRange dateRange) {
        String incrementalPrefix = getMatch(dateRange, AbstractBackupPath.BackupFileType.SST_V2);
        String marker =
                getMatch(
                        new DateUtil.DateRange(dateRange.getStartTime(), null),
                        AbstractBackupPath.BackupFileType.SST_V2);
        logger.info(
                "Listing filesystem with prefix: {}, marker: {}, daterange: {}",
                incrementalPrefix,
                marker,
                dateRange);
        Iterator<String> iterator = fs.listFileSystem(incrementalPrefix, null, marker);
        Iterator<AbstractBackupPath> transformIterator =
                new TransformIterator<>(
                        iterator,
                        s -> {
                            AbstractBackupPath path = abstractBackupPathProvider.get();
                            path.parseRemote(s);
                            return path;
                        });

        return new FilterIterator<>(
                transformIterator,
                abstractBackupPath ->
                        (abstractBackupPath.getLastModified().isAfter(dateRange.getStartTime())
                                        && abstractBackupPath
                                                .getLastModified()
                                                .isBefore(dateRange.getEndTime()))
                                || abstractBackupPath
                                        .getLastModified()
                                        .equals(dateRange.getStartTime())
                                || abstractBackupPath
                                        .getLastModified()
                                        .equals(dateRange.getEndTime()));
    }