delete old read statuses by chunks in order to avoid large transactions

This commit is contained in:
Athou
2013-09-17 12:55:27 +02:00
parent 587b25b18b
commit 136c41c6aa
2 changed files with 12 additions and 4 deletions

View File

@@ -98,9 +98,16 @@ public class DatabaseCleaningService {
feedDAO.saveOrUpdate(into);
}
public void cleanStatusesOlderThan(Date olderThan) {
public long cleanStatusesOlderThan(Date olderThan) {
log.info("cleaning old read statuses");
int deleted = feedEntryStatusDAO.deleteOldStatuses(olderThan);
log.info("cleaned {} read statuses", deleted);
long total = 0;
int deleted = -1;
do {
deleted = feedEntryStatusDAO.deleteOldStatuses(olderThan, 100);
total += deleted;
log.info("cleaned {} old read statuses", total);
} while (deleted != 0);
log.info("cleanup done: {} old read statuses deleted", total);
return total;
}
}