From eeeac6bce2b2af673c8c967f80783eef0cad31f8 Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Sun, 3 Feb 2019 20:41:06 +0100 Subject: [PATCH] use deleteMany and $in instead of deleteOne to delete expired sessions Change-Id: I00462df4a3943f4b631160ccf721b6db730b0eff --- .../sse/security/persistence/impl/DomainObjectFactoryImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/com.sap.sse.security.persistence/src/com/sap/sse/security/persistence/impl/DomainObjectFactoryImpl.java b/java/com.sap.sse.security.persistence/src/com/sap/sse/security/persistence/impl/DomainObjectFactoryImpl.java index e7bcdb98617..3a93c91c8f9 100755 --- a/java/com.sap.sse.security.persistence/src/com/sap/sse/security/persistence/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sse.security.persistence/src/com/sap/sse/security/persistence/impl/DomainObjectFactoryImpl.java @@ -42,7 +42,8 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { Util.addToValueSet(sessionsByCacheName, cacheName, session); } }); - expiredSessionIds.forEach(id->sessionsCollection.deleteOne(new Document(FieldNames.SESSION_ID.name(), id))); + final Document filter = new Document("$in", Util.map(expiredSessionIds, id->id.toString())); + sessionsCollection.deleteMany(new Document(FieldNames.SESSION_ID.name(), filter)); return sessionsByCacheName; }