Remove verifyMode setters on LettuceConnectionFactory to not expose additional properties already exposed via ClientConfiguration.
Deprecate LettuceClientConfiguration.isVerifyPeer in favor of getVerifyMode.
See #2899
Original pull request: #2934
RedisKeyValueAdapter is now a lifecycle bean participating in Spring's SmartLifecycle support. Sticking to Lifecycle aligns with lifecycle support in RedisConnectionFactory where connections are stopped upon shutdown.
Previously, RedisKeyValueAdapter stopped connections upon destroy() causing a delayed shutdown behavior that was out of sync with its RedisConnectionFactory.
Closes: #2957
Original Pull Request: #2959
This commit makes sure to consider the ShadowCopy flag for expiring key events and prevents delete attempts if shadow copy is off.
Closes: #2954
Original Pull Request: #2955
Revise builder. Accept builder components in builder methods instead of the builder factory method. Enforce valid parameters instead of lenient, potentially null parameters.
Introduce configuration means to control default typing. Extend tests.
See #2878
Original pull request: #2905
Refine unlocking by checking whether the lock was actually applied.
Reduce allocations, refine test assertions to check for concurrency.
See #1686
Original pull request: #2879
This commit changes the node value retrieval so that it first tries to determine the node type before falling back to reflective access of the _value field.
Closes#2838
Original pull request: #2842
Lettuce and Jedis connection factories now can be configured to initialize early during afterPropertiesSet or configured whether the component should be auto-started by the container.
By default, connection factories auto-startup early.
Closes#2866
Original Pull Request: #2868
We now consider requests to command API objects such as RedisConnection.keyCommands() in ConnectionSplittingInterceptor to identify the correct command and route it accordingly.
Closes: #2886
Original Pull Request: #2887
We now remove our own code in favor of Lettuce's advanced cluster support to leverage asynchronous functionality in pipelining.
Document pipelining restrictions regarding Redis Cluster.
Original Pull Request: #2889
We now no longer require RedisCommand but resort to CompletableFuture as the general asynchronous result type for Lettuce pipelining to allow subtypes such as PipelinedRedisFuture.
Closes: #2888
Original Pull Request: #2889
Deprecate RedisSentinelConfiguration and RedisClusterConfiguration constructors taking PropertySource in favor of a factory method.
Reformat code. Update documentation.
See #2860
Original pull request: #2861
We now retain the raw cursor value without attempting to convert it into a long as Redis uses 64 bit unsigned integers exceeding Long.MAX_VALUE.
Fix broken id parsing for unsigned long value
Update deprecation warnings and method visibility.
See: #2796Closes: #2802
We now differentiate exception handling regarding the recovery state. Initial listen fails if the connection is unavailable. Upon recovery after a preceeding subscription we now log the success to create a counterpart to our error logging.
Closes: #2782
Original Pull Request: #2808