From cdfc1c8149f4a947e422d7a0f0eff08ad06ebb4a Mon Sep 17 00:00:00 2001 From: Daniel Gerhardt <code@z.dgerhardt.net> Date: Sun, 7 May 2017 23:36:55 +0200 Subject: [PATCH] Filter sessions on the DB side to check if key is available This should massively reduce the time needed for session creation. Additionally, the `Transactional` annotation has been removed because it did not have any effect in this case. --- src/main/java/de/thm/arsnova/dao/CouchDBDao.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java index e8c1ae5a2..9c3134dbf 100644 --- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java +++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java @@ -499,9 +499,9 @@ public class CouchDBDao implements IDatabaseDao, ApplicationEventPublisherAware } @Override - @Transactional(isolation = Isolation.READ_COMMITTED) public boolean sessionKeyAvailable(final String keyword) { final View view = new View("session/by_keyword"); + view.setKey(keyword); final ViewResults results = getDatabase().view(view); return !results.containsKey(keyword); -- GitLab