From 33f10f5e9c1fa12c5e794b16234d39ffa9ba0f9a Mon Sep 17 00:00:00 2001 From: Athou Date: Wed, 12 Jun 2013 04:58:19 +0200 Subject: [PATCH] limit query execution time to 20s --- .../com/commafeed/backend/dao/FeedEntryStatusDAO.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java b/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java index 51860a5c..7bb167c7 100644 --- a/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java +++ b/src/main/java/com/commafeed/backend/dao/FeedEntryStatusDAO.java @@ -95,6 +95,7 @@ public class FeedEntryStatusDAO extends GenericDAO { TypedQuery q = em.createQuery(query); limit(q, offset, limit); + setTimeout(q); return lazyLoadContent(true, q.getResultList()); } @@ -131,6 +132,7 @@ public class FeedEntryStatusDAO extends GenericDAO { TypedQuery q = em.createQuery(query); limit(q, offset, limit); + setTimeout(q); return lazyLoadContent(includeContent, q.getResultList()); } @@ -168,6 +170,7 @@ public class FeedEntryStatusDAO extends GenericDAO { TypedQuery q = em.createQuery(query); limit(q, offset, limit); + setTimeout(q); return lazyLoadContent(includeContent, q.getResultList()); } @@ -210,6 +213,7 @@ public class FeedEntryStatusDAO extends GenericDAO { TypedQuery q = em.createQuery(query); limit(q, offset, limit); + setTimeout(q); return lazyLoadContent(includeContent, q.getResultList()); } @@ -253,6 +257,7 @@ public class FeedEntryStatusDAO extends GenericDAO { TypedQuery q = em.createQuery(query); limit(q, offset, limit); + setTimeout(q); return lazyLoadContent(includeContent, q.getResultList()); } @@ -293,6 +298,10 @@ public class FeedEntryStatusDAO extends GenericDAO { } } + private void setTimeout(Query query) { + query.setHint("javax.persistence.query.timeout", 20000); + } + public void markFeedEntries(User user, Feed feed, Date olderThan) { List statuses = findByFeed(feed, user, true, ReadingOrder.desc, false);