From 17ddfc0fa875b78d8152ba37740b7184d64a1f85 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();