commit | 70443882f48a5885387671a4d3c6cfc6fa2aaa71 | [log] [tgz] |
---|---|---|
author | Johannes Faltermeier <jfaltermeier@eclipsesource.com> | Wed Mar 29 16:58:00 2017 +0200 |
committer | Johannes Faltermeier <jfaltermeier@eclipsesource.com> | Wed Mar 29 17:00:57 2017 +0200 |
tree | 20d1b1219bbd66d7fbdc6c748dc093b2f0981449 | |
parent | a10993124ed718e5779248d64e4803c5b61ffe76 [diff] |
Bug 511469 - Memory Leak in AbstractConnectionManager * In previous changes to fix this bug we started to reuse session ids for the same user. * In case an id is reused, we have to restart the lastActive flag in order to prevent over-eager session time-outs Change-Id: I69848ebc6c39f0ab93746e8c534a01ef81020551 Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/EMFStoreSessions.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/EMFStoreSessions.java index 10de2b4..6c4db15 100644 --- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/EMFStoreSessions.java +++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/EMFStoreSessions.java
@@ -38,6 +38,7 @@ for (final Entry<SessionId, ACUserContainer> entry : sessionUserMap.entrySet()) { final ACUserContainer container = entry.getValue(); if (container.getRawUser().getId().equals(userId)) { + container.active(); return entry.getKey().toAPI(); } }
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/authentication/ACUserContainer.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/authentication/ACUserContainer.java index 9068354..898ea65 100644 --- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/authentication/ACUserContainer.java +++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/accesscontrol/authentication/ACUserContainer.java
@@ -79,7 +79,10 @@ } } - private void active() { + /** + * Update timestamp when user was last active. + */ + public void active() { lastActive = System.currentTimeMillis(); } } \ No newline at end of file