Commit Graph

1738 Commits

Author SHA1 Message Date
Christoph Strobl
31dbba0112 Make sure db index is only set once.
See: #2984
2024-09-13 09:38:35 +02:00
Christoph Strobl
ab701142fe Polishing.
Make sure nested LettuceConnectionUnitTests are actually run by junit.

Original Pull Request: #2990
2024-09-12 14:24:10 +02:00
Mark Paluch
fd23412eaf Fix database selection on dedicated connection.
We now select the database on the dedicated connection. Previously, this call never happened on the dedicated connection and the only way a database could be selected is through the ConnectionFactory configuration.

Closes: #2984
Original Pull Request: #2990
2024-09-12 14:24:00 +02:00
Christoph Strobl
02dfe5c691 Polishing.
Move maxTime calculation for topology refresh to and delegate shouldUseCachedValue() to newly introduced overload.
Retain application flow as much as possible.

Original Pull Request: #2989
2024-09-11 12:24:15 +02:00
Mark Paluch
f5285856e0 Use value object for topology caching.
We now use a value object for caching the topology to avoid races in updating the cache timestamp.

Also, we set the cache timestamp after obtaining the topology to avoid that I/O latency expires the topology cache.

Closes: #2986
Original Pull Request: #2989
2024-09-11 12:22:32 +02:00
Mark Paluch
f9dd9bc246 Polishing.
Simplify code to use well-known Spring patterns.

Original pull request: #2752
See #2751
2024-09-10 14:01:35 +02:00
John Blum
c7ab023d40 Replace use of String.format(…) with formatted Strings.
Original pull request: #2752
Closes #2751
2024-09-10 14:01:13 +02:00
Mark Paluch
fcbe0fdeaa Polishing.
Refine assertions usage.

Original pull request: #2985
Closes #2982
2024-09-10 11:02:38 +02:00
jinkshower
f5ad90a1ea Fix XAddOptions maxlen handling and XPendingOptions validation.
Closes #2982
Original pull request: #2985
2024-09-10 11:02:18 +02:00
Mark Paluch
600f9dd1da Polishing.
Improve pattern variable naming, use ClassUtils.getDescriptiveType(…) to avoid null-pointer exceptions. Simplify RedisOperationChain condition checks.

See #2788
2024-09-10 10:13:17 +02:00
Junghoon Ban
ee35a4cd36 Improve readability in RedisQueryCreator.
Closes #2788
2024-09-10 10:13:03 +02:00
Junghoon Ban
635006672c Refactor Redis secondary-index key formatting.
Redis secondary-index keys are now formatted using helper methods instead of using chains of concatAll(toBytes(…)) sequences for more readability.

Original pull request: #2795
Closes: #2794
2024-09-10 09:35:21 +02:00
Mark Paluch
1b220676a0 Fix typos in Javadoc and assertion message.
Closes #2965
2024-08-30 14:10:06 +02:00
Christoph Strobl
5909a491dc Fix error deserializing enum values with flattening Jackson2HashMapper.
This commit makes sure the mapper does not attempt to read type alias when deserializing enums.

Original pull request: #2980
Closes #2979
2024-08-30 10:01:46 +02:00
Mark Paluch
7a39c5c1fe Add @Serial annotation to all serialVersionUID fields.
Closes #2973
2024-08-20 10:30:30 +02:00
Mark Paluch
cb0648fe81 Polishing.
Replace instanceof check with pattern variable in production code.
Add missing Deprecated annotations.

See #2967
Original pull request: #2971
2024-08-20 10:25:40 +02:00
arefbehboudi
96a1b0c327 Consistently use instanceof pattern variable.
Closes #2967
Original pull request: #2971
2024-08-20 10:25:40 +02:00
Jens Schauder
bb5817699e Prepare 3.3.3 (2024.0.3).
See #2941
2024-08-16 10:05:39 +02:00
Mark Paluch
96e46924bd Default Lettuce shutdownQuietPeriod to zero.
Use a lower timeout for faster shutdown. Also, the quiet period is no longer configured through the shutdown timeout.

Closes #2945
2024-08-08 15:49:11 +02:00
Mark Paluch
62b7bc256a Bundle Javadoc with Antora documentation site.
Closes #2950
2024-07-31 14:29:57 +02:00
Jens Schauder
d81494c022 Prepare 3.3.2 (2024.0.2).
See #2927
2024-07-12 19:09:01 +02:00
Mark Paluch
8830af0276 Prepare 3.3.1 (2024.0.1).
See #2911
2024-06-14 10:45:24 +02:00
UnfetteredArtMan
41c3e8e815 Fix typo in Template reference documentation.
Documentation Example 1. Configuring Template API,Java Reactive incorrectly uses ReactoveRedisConnectionFactory as a parameter

Closes #2913
2024-06-11 15:38:44 +02:00
Mark Paluch
c3c15cd82b Provide class loader to ProxyFactory to create BoundOperation proxies.
Closes #2920
2024-05-31 09:30:03 +02:00
Mark Paluch
fb140e397b Polishing.
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
2024-05-21 14:56:24 +02:00
annemayor
6b56cfb5a6 Allow configuring custom NullValueSerializer.
Closes #2878
Original pull request: #2905
2024-05-21 14:56:24 +02:00
Mark Paluch
933d5e393e Prepare 3.3 GA (2024.0.0).
See #2893
2024-05-17 11:49:11 +02:00
Mark Paluch
7ca2779ea5 Polishing.
Reformat code.
2024-05-13 15:10:04 +02:00
Roman Osadchuk
2809186e4d Use correct bitfield offset for INCRBY using Lettuce.
Closes #2903
Original pull request: #2901
2024-05-13 15:09:41 +02:00
Mark Paluch
3ab09fbd57 Polishing.
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
2024-04-19 08:57:32 +02:00
Chan Young
c980407f7d Improve atomicity in DefaultRedisCacheWriter.doLock().
Closes #1686
Original pull request: #2879
2024-04-19 08:57:28 +02:00
Christoph Strobl
7fad17a1de Resolve element type from NodeType before falling back to reflection when reading values from JsonNode.
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
2024-04-19 08:22:35 +02:00
Mark Paluch
2f34f63e28 Polishing.
Reduce allocations by reusing IndexDefinition in RemoveIndexedData.

Tweak test method name.

See #2882
Original pull request: #2895
2024-04-19 08:17:47 +02:00
Christoph Strobl
8afabc1fe3 Clear indexed data if property value is set to null.
Closes #2882
Original pull request: #2895
2024-04-19 08:17:41 +02:00
Mark Paluch
2d6481b5c2 Polishing.
Tweak wording.

See #2881
2024-04-16 10:20:00 +02:00
Stephen Kinser
49e5afc80d Mention that keyspace events are not replicated across Redis Cluster shards.
Applications can suffer from missing important Keyspace events as described at https://github.com/spring-projects/spring-session/issues/2230.

This adds a caution to the docs to help others avoid running into this problem.

Closes #2881
2024-04-16 10:19:37 +02:00
Mark Paluch
9cad17171e Let QueryByExampleRedisExecutor implement ListQueryByExampleExecutor.
Closes #2880
2024-04-16 10:07:30 +02:00
Mark Paluch
4c8941df6b Refine ReactiveRedisOperations#listenTo and listenTo…Later Javadoc mentioning resource usage.
Closes #2229
2024-04-16 09:54:53 +02:00
Mark Paluch
ddaeaeec83 Prepare 3.3 RC1 (2024.0.0).
See #2874
2024-04-12 10:50:27 +02:00
Mark Paluch
7a94beb467 Allow RedisConnectionFactories to be initialized as part of the context lifecycle.
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
2024-04-11 15:34:05 +02:00
Christoph Strobl
779a0126e5 Polishing.
Avoid duplicate method lookup by keeping reference to Method.
Add missing native image hints for command proxies.

Original Pull Request: #2887
2024-04-11 13:35:27 +02:00
Mark Paluch
eed4c2af40 Consider intermediate command interface in ConnectionSplittingInterceptor.
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
2024-04-11 13:31:58 +02:00
Mark Paluch
6f28b530b0 Use Lettuce functionality for Cluster commands where possible.
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
2024-04-10 16:05:56 +02:00
Mark Paluch
d785b5f870 Accept CompletableFuture subtypes for Lettuce pipelining.
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
2024-04-10 14:41:06 +02:00
Mark Paluch
4f2840f111 Prepare 3.3 M2 (2024.0.0).
See #2849
2024-03-15 11:07:10 +01:00
Mark Paluch
27bf779fab Polishing.
Tweak wording.

See #2865
Original pull request: #2870
2024-03-14 15:03:17 +01:00
Egor Ponomarev
a4663d2a0b Update documentation of transactions page.
Closes #2865
Original pull request: #2870
2024-03-14 15:03:17 +01:00
Mark Paluch
7e3986b8bd Fix reference code example to use values required for the example.
Closes #2869
2024-03-14 14:49:14 +01:00
Mingron
00c825bd96 Fix quoted variable reference in documentation.
Closes #2850
2024-03-04 15:25:44 +01:00
Kit
7c3546474e Fix variable name in reference documentation.
Closes #2852
2024-03-04 15:21:48 +01:00