public synchronized LineageCommand lineageWorkerHeartbeat(long workerId,
List<Long> persistedFiles) throws FileDoesNotExistException, InvalidPathException {
if (!persistedFiles.isEmpty()) {
persistFiles(workerId, persistedFiles);
}
List<CheckpointFile> filesToCheckpoint = null;
filesToCheckpoint = pollToCheckpoint(workerId);
if (!filesToCheckpoint.isEmpty()) {
LOG.info("Sent files " + filesToCheckpoint + " to worker " + workerId + " to persist");
}
return new LineageCommand(CommandType.Persist, filesToCheckpoint);
}