From cb5c58eeaadee97d9b622454428dc6a9169ab1a1 Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Thu, 19 Sep 2019 13:43:25 -0500 Subject: [PATCH] AbstractUserDetailsReactiveAuthenticationManager uses newParallel It is recommended to use newParallel to avoid impacting the timed operations which all use parallel() Fixes gh-7456 --- .../AbstractUserDetailsReactiveAuthenticationManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/springframework/security/authentication/AbstractUserDetailsReactiveAuthenticationManager.java b/core/src/main/java/org/springframework/security/authentication/AbstractUserDetailsReactiveAuthenticationManager.java index d32b1f19f5..6ad3f35b53 100644 --- a/core/src/main/java/org/springframework/security/authentication/AbstractUserDetailsReactiveAuthenticationManager.java +++ b/core/src/main/java/org/springframework/security/authentication/AbstractUserDetailsReactiveAuthenticationManager.java @@ -55,7 +55,7 @@ public abstract class AbstractUserDetailsReactiveAuthenticationManager implement private ReactiveUserDetailsPasswordService userDetailsPasswordService; - private Scheduler scheduler = Schedulers.parallel(); + private Scheduler scheduler = Schedulers.newParallel("password-encoder"); private UserDetailsChecker preAuthenticationChecks = user -> { if (!user.isAccountNonLocked()) { @@ -127,7 +127,7 @@ public abstract class AbstractUserDetailsReactiveAuthenticationManager implement /** * Sets the {@link Scheduler} used by the {@link UserDetailsRepositoryReactiveAuthenticationManager}. - * The default is {@code Schedulers.parallel()} because modern password encoding is + * The default is {@code Schedulers.newParallel(String)} because modern password encoding is * a CPU intensive task that is non blocking. This means validation is bounded by the * number of CPUs. Some applications may want to customize the {@link Scheduler}. For * example, if users are stuck using the insecure {@link org.springframework.security.crypto.password.NoOpPasswordEncoder}