diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisIndexedSessionRepository.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisIndexedSessionRepository.java index 89083294..3c03beb0 100644 --- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisIndexedSessionRepository.java +++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/RedisIndexedSessionRepository.java @@ -480,6 +480,9 @@ public class RedisIndexedSessionRepository } String principalKey = getPrincipalKey(indexValue); Set sessionIds = this.sessionRedisOperations.boundSetOps(principalKey).members(); + if (sessionIds == null) { + return Collections.emptyMap(); + } Map sessions = new HashMap<>(sessionIds.size()); for (Object id : sessionIds) { RedisSession session = findById((String) id); @@ -499,7 +502,7 @@ public class RedisIndexedSessionRepository */ private RedisSession getSession(String id, boolean allowExpired) { Map entries = getSessionBoundHashOperations(id).entries(); - if (entries.isEmpty()) { + if ((entries == null) || entries.isEmpty()) { return null; } MapSession loaded = new RedisSessionMapper(id).apply(entries);