private synchronized void purgeFilesAndAccumulators(final DateTime purgeAccumulatorsIfBefore, final DateTime purgeFilesIfBefore) { purgeOldSourcesAndAccumulators(purgeAccumulatorsIfBefore); final Replayer replayer = new Replayer(config.getSpoolDir()); replayer.purgeOldFiles(purgeFilesIfBefore); }
public List<SourceSamplesForTimestamp> readAll() { final List<SourceSamplesForTimestamp> samples = new ArrayList<SourceSamplesForTimestamp>(); readAll(true, null, new Function<SourceSamplesForTimestamp, Void>() { @Override public Void apply(@Nullable final SourceSamplesForTimestamp input) { if (input != null) { samples.add(input); } return null; } }); return samples; }
public int readAll(final boolean deleteFiles, @Nullable final DateTime minStartTime, final Function<SourceSamplesForTimestamp, Void> fn) { final List<File> files = findCandidates(); int filesSkipped = 0; for (final File file : FILE_ORDERING.sortedCopy(files)) { try { // Skip files whose last modification date is is earlier than the first start time. if (minStartTime != null && file.lastModified() < minStartTime.getMillis()) { filesSkipped++; continue; } read(file, fn); if (shuttingDown.get()) { break; } if (deleteFiles) { if (!file.delete()) { log.warn("Unable to delete file: {}", file.getAbsolutePath()); } } } catch (IOException e) { log.warn("Exception replaying file: {}", file.getAbsolutePath(), e); } } return filesSkipped; }
public void replay(final String spoolDir, final InternalCallContext context) { replayCount.incrementAndGet(); log.info("Starting replay of files in {}", spoolDir); final Replayer replayer = new Replayer(spoolDir); StartTimes lastStartTimes = null; if (shutdownSaveMode == ShutdownSaveMode.SAVE_START_TIMES) { final int filesSkipped = replayer.readAll(startTimes == null, minStartTime, new Function<SourceSamplesForTimestamp, Void>() { @Override public Void apply(@Nullable final SourceSamplesForTimestamp hostSamples) {
public void purgeOldFiles(final DateTime purgeIfOlderDate) { final List<File> candidates = findCandidates(); for (final File file : candidates) { if (file.lastModified() <= purgeIfOlderDate.getMillis()) { if (!file.delete()) { log.warn("Unable to delete file: {}", file.getAbsolutePath()); } } } }