From d94d58d96b37a25045ef8600a5100e71673da61d Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Thu, 16 May 2019 15:49:24 -0500 Subject: [PATCH] Redis save uses then We need to ensure that the session id is changed before we save the changes. Otherwise the rename of the session id will override the changes we just made. Fixes: gh-1428 --- .../data/redis/ReactiveRedisOperationsSessionRepository.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepository.java b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepository.java index 4c640571..b415f12b 100644 --- a/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepository.java +++ b/spring-session-data-redis/src/main/java/org/springframework/session/data/redis/ReactiveRedisOperationsSessionRepository.java @@ -143,7 +143,8 @@ public class ReactiveRedisOperationsSessionRepository implements @Override public Mono save(RedisSession session) { - Mono result = session.saveChangeSessionId().and(session.saveDelta()) + Mono result = session.saveChangeSessionId() + .then(session.saveDelta()) .and((s) -> { session.isNew = false; s.onComplete();