diff --git a/src/main/java/com/commafeed/backend/feeds/FeedRefreshUpdater.java b/src/main/java/com/commafeed/backend/feeds/FeedRefreshUpdater.java index 1376576e..f7ce0b32 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedRefreshUpdater.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedRefreshUpdater.java @@ -140,14 +140,19 @@ public class FeedRefreshUpdater { public void run() { boolean ok = true; if (entries.isEmpty() == false) { - List subscriptions = feedSubscriptionDAO - .findByFeed(feed); + List lastEntries = cache.getLastEntries(feed); List currentEntries = Lists.newArrayList(); + + List subscriptions = null; for (FeedEntry entry : entries) { String cacheKey = cache.buildKey(feed, entry); if (!lastEntries.contains(cacheKey)) { log.debug("cache miss for {}", entry.getUrl()); + if (subscriptions == null) { + subscriptions = feedSubscriptionDAO + .findByFeed(feed); + } ok &= updateEntry(feed, entry, subscriptions); metricsBean.entryCacheMiss(); } else {