public void processFileArchivals(FileArchiveNotificationRequest request, Connection conn,
Configuration conf, FileSystem fs) throws IOException {
final HashMultimap<TableName,Entry<String,Long>> archivedFilesByTable = HashMultimap.create();
for (FileWithSize fileWithSize : request.getArchivedFilesList()) {
TableName tn = ProtobufUtil.toTableName(fileWithSize.getTableName());
archivedFilesByTable.put(
tn, Maps.immutableEntry(fileWithSize.getName(), fileWithSize.getSize()));
}
if (LOG.isTraceEnabled()) {
LOG.trace("Grouped archived files by table: " + archivedFilesByTable);
}
for (TableName tn : archivedFilesByTable.keySet()) {
final Set<Entry<String,Long>> filesWithSize = archivedFilesByTable.get(tn);
final FileArchiverNotifier notifier = FileArchiverNotifierFactoryImpl.getInstance().get(
conn, conf, fs, tn);
notifier.addArchivedFiles(filesWithSize);
}
}
}